/************************************************************************
*	DICOMLIB
*	Copyright 2003 Sunnybrook and Women's College Health Science Center
*	Implemented by Trevor Morgan  (morgan@sten.sunnybrook.utoronto.ca)
*
*	See LICENSE.txt for copyright and licensing info.
*************************************************************************/

/*
	Future directions:
	
	At some point it would be nice to allow the end user to add entries
	to the data dictionary, to allow the look up of private tags.

*/

#include "DataDictionary.hpp"
#include <algorithm>
#include <sstream>
#include "VR.hpp"
#include "Tag.hpp"
#include "boost/format.hpp"
namespace dicom
{
	namespace
	{
		struct DictionaryEntry
		{
			UINT32 tag;
			VR vr;
			const char * name;
		};

		static const DictionaryEntry DICT_ENTRIES[] =
		{
			{TAG_NULL,VR_UL,"GroupLength"},
			{TAG_AFF_SOP_CLASS_UID,VR_UI,"AffectedSOPClassUID"},
			{TAG_REQ_SOP_CLASS_UID,VR_UI,"RequestedSOPClassUID"},
			{TAG_CMD_FIELD,VR_US,"CommandField"},
			{TAG_MSG_ID,VR_US,"MessageID"},
			{TAG_MSG_ID_RSP,VR_US,"MessageIDBeingRespondedTo"},
			{TAG_MOVE_DEST,VR_AE,"MoveDestination"},
			{TAG_PRIORITY,VR_US,"Priority"},
			{TAG_DATA_SET_TYPE,VR_US,"DataSetType"},
			{TAG_STATUS,VR_US,"Status"},
			{TAG_OFFEND_ELEM,VR_AT,"OffendingElement"},
			{TAG_ERR_COMMENT,VR_LO,"ErrorComment"},
			{TAG_ERR_ID,VR_US,"ErrorID"},
			{TAG_AFF_SOP_INST_UID,VR_UI,"AffectedSOPInstanceUID"},
			{TAG_REQ_SOP_INST_UID,VR_UI,"RequestedSOPInstanceUID"},
			{TAG_EVENT_TYPE_ID,VR_US,"EventTypeID"},
			{TAG_ATTR_ID_LIST,VR_AT,"AttributeIdentifierList"},
			{TAG_ACTION_TYPE_ID,VR_US,"ActionTypeID"},
			{TAG_NUM_REMAIN_SUBOP,VR_US,"NumberofRemainingSub-operations"},
			{TAG_NUM_COMPL_SUBOP,VR_US,"NumberofCompletedSub-operations"},
			{TAG_NUM_FAIL_SUBOP,VR_US,"NumberofFailedSub-operations"},
			{TAG_NUM_WARN_SUBOP,VR_US,"NumberofWarningSub-operations"},
			{TAG_MOVE_ORIG_AET,VR_AE,"MoveOriginatorApplicationEntityTitle"},
			{TAG_MOVE_ORIG_MSG_ID,VR_US,"MoveOriginatorMessageID"},
			{TAG_FILE_INFO_GR_LEN,VR_UL,"GroupLength"},
			{TAG_FILE_INFO_VERS,VR_OB,"FileMetaInformationVersion"},
			{TAG_MEDIA_SOP_CLASS_UID,VR_UI,"MediaStorageSOPClassUID"},
			{TAG_MEDIA_SOP_INST_UID,VR_UI,"MediaStorageSOPInstanceUID"},
			{TAG_TRANSFER_SYNTAX_UID,VR_UI,"TransferSyntaxUID"},
			{TAG_IMPL_CLASS_UID,VR_UI,"ImplementationClassUID"},
			{TAG_IMPL_VERS_NAME,VR_SH,"ImplementationVersionName"},
			{TAG_SRC_AET,VR_AE,"SourceApplicationEntityTitle"},
			{TAG_PRIV_INFO_CREATOR_UID,VR_UI,"PrivateInformationCreatorUID"},
			{TAG_PRIV_INFO,VR_OB,"PrivateInformation"},
			{0x00040000,VR_UL,"GroupLength"},
			{TAG_FILE_SET_ID,VR_CS,"File-setID"},
			{TAG_DESC_FILE_ID,VR_CS,"File-setDescriptorFileID"},
			{TAG_CHAR_SET_DESC_FILE,VR_CS,"SpecificCharacterSetofFile-setDescriptorFile"},
			{TAG_OFFSET_FIRST_REC,VR_UL,"OffsetoftheFirstDirectoryRecordoftheRootDirectoryEntity"},
			{TAG_OFFSET_LAST_REC,VR_UL,"OffsetoftheLastDirectoryRecordoftheRootDirectoryEntity"},
			{TAG_FILE_SET_CONS,VR_US,"File-setConsistencyFlag"},
			{TAG_REC_SEQ,VR_SQ,"DirectoryRecordSequence"},
			{TAG_OFFSET_NEXT_REC,VR_UL,"OffsetoftheNextDirectoryRecord"},
			{TAG_REC_IN_USE,VR_US,"RecordIn-useFlag"},
			{TAG_OFFSET_REF_LOWER,VR_UL,"OffsetofReferencedLower-LevelDirectoryEntity"},
			{TAG_REC_TYPE,VR_CS,"DirectoryRecordType"},
			{TAG_PRIV_REC_UID,VR_UI,"PrivateRecordUID"},
			{TAG_REF_FILE_ID,VR_CS,"ReferencedFileID"},
			{TAG_MRDR_OFFSET,VR_UL,"MRDRDirectoryRecordOffset"},
			{TAG_REF_FILE_SOP_CLASS_UID,VR_UI,"ReferencedSOPClassUIDinFile"},
			{TAG_REF_FILE_SOP_INST_UID,VR_UI,"ReferencedSOPInstanceUIDinFile"},
			{TAG_REF_FILE_TS_UID,VR_UI,"ReferencedTransferSyntaxUIDinFile"},
			{TAG_NUM_OF_REF,VR_UL,"NumberofReferences"},

			{0x00080000,VR_UL,"GroupLength"},
			{TAG_CHAR_SET,VR_CS,"SpecificCharacterSet"},
			{TAG_IMAGE_TYPE,VR_CS,"ImageType"},
			{TAG_INST_CREATE_DATE,VR_DA,"InstanceCreationDate"},
			{TAG_INST_CREATE_TIME,VR_TM,"InstanceCreationTime"},
			{TAG_INST_CREATOR_UID,VR_UI,"InstanceCreatorUID"},
			{TAG_SOP_CLASS_UID,VR_UI,"SOPClassUID"},
			{TAG_SOP_INST_UID,VR_UI,"SOPInstanceUID"},
			{TAG_STUDY_DATE,VR_DA,"StudyDate"},
			{TAG_SERIES_DATE,VR_DA,"SeriesDate"},
			{TAG_ACQUISITION_DATE,VR_DA,"AcquisitionDate"},
			{TAG_IMAGE_DATE,VR_DA,"Image/ContentDate"},
			{0x00080024,VR_DA,"OverlayDate"},
			{0x00080025,VR_DA,"CurveDate"},
			{TAG_ACQUISITION_DATE_TIME,VR_DT,"AcquisitionDateTime"},
			{TAG_STUDY_TIME,VR_TM,"StudyTime"},
			{TAG_SERIES_TIME,VR_TM,"SeriesTime"},
			{TAG_ACQUISITION_TIME,VR_TM,"AcquisitionTime"},
			{TAG_IMAGE_TIME,VR_TM,"Image/ContentTime"},
			{0x00080034,VR_TM,"OverlayTime"},
			{0x00080035,VR_TM,"CurveTime"},
			{TAG_ACCESS_NO,VR_SH,"AccessionNumber"},
			{TAG_QR_LEVEL,VR_CS,"Query/RetrieveLevel"},
			{TAG_RETR_AET,VR_AE,"RetrieveAETitle"},
			{TAG_INST_AVAILABILITY,VR_CS,"InstanceAvailability"},
			{TAG_FAILED_SOPINSTUID_LIST,VR_UI,"FailedSOPInstanceUIDList"},
			{TAG_MODALITY,VR_CS,"Modality"},
			{0x00080061,VR_CS,"ModalitiesinStudy"},
			{TAG_CONVERSION_TYPE,VR_CS,"ConversionType"},
			{TAG_PRESENTATION_TYPE,VR_CS,"PresentationIntentType"},
			{TAG_MANUFACTOR,VR_LO,"Manufacturer"},
			{TAG_INSTITUT_NAME,VR_LO,"InstitutionName"},
			{TAG_INSTITUT_ADDRESS,VR_ST,"InstitutionAddress"},
			{0x00080082,VR_SQ,"InstitutionCodeSequence"},
			{TAG_REF_PHYS_NAME,VR_PN,"ReferringPhysician'sName"},
			{TAG_REF_PHYS_ADDR,VR_ST,"ReferringPhysician'sAddress"},
			{TAG_REF_PHYS_TEL,VR_SH,"ReferringPhysician'sTelephoneNumbers"},
			{TAG_CODE_VALUE,VR_SH,"CodeValue"},
			{TAG_CODING_SCHEME_DESIGNATOR,VR_SH,"CodingSchemeDesignator"},
			{TAG_CODE_MEANING,VR_LO,"CodeMeaning"},
			{0x0008010c,VR_UI,"PrivateSchemeCreatorUID"},
			{0x00080201,VR_SH,"Timezone Offset From UTC"},
			{TAG_STATION_NAME,VR_SH,"StationName"},
			{TAG_STUDY_DESC,VR_LO,"StudyDescription"},
			{TAG_PROC_CODE_SEQ,VR_SQ,"ProcedureCodeSequence"},
			{TAG_SERIES_DESC,VR_LO,"SeriesDescription"},
			{TAG_INSTITUT_DEPT_NAME,VR_LO,"InstitutionalDepartmentName"},
			{0x00081048,VR_PN,"Physician(s)ofRecord"},
			{TAG_PERF_PHYS_NAME,VR_PN,"PerformingPhysician'sName"},
			{TAG_READ_PHYS_NAME,VR_PN,"NameofPhysician(s)ReadingStudy"},
			{TAG_OPERATOR_NAME,VR_PN,"Operators'Name"},
			{TAG_ADMIT_DIAG_DESC,VR_LO,"AdmittingDiagnosesDescription"},
			{0x00081084,VR_SQ,"AdmittingDiagnosisCodeSequence"},
			{TAG_MANFAC_MODEL_NAME,VR_LO,"Manufacturer'sModelName"},
			{0x00081100,VR_SQ,"ReferencedResultsSequence"},
			{TAG_REF_STUDY_SEQ,VR_SQ,"ReferencedStudySequence"},
			{TAG_REF_STUDY_COMPONENT_SEQ,VR_SQ,"ReferencedStudyComponentSequence"},
			{0x00081115,VR_SQ,"ReferencedSeriesSequence"},
			{TAG_REF_PAT_SEQ,VR_SQ,"ReferencedPatientSequence"},
			{0x00081125,VR_SQ,"ReferencedVisitSequence"},
			{0x00081130,VR_SQ,"ReferencedOverlaySequence"},
			{TAG_REF_IMAGE_SEQ,VR_SQ,"ReferencedImageSequence"},
			{0x00081145,VR_SQ,"ReferencedCurveSequence"},
			{TAG_REF_SOP_CLASS_UID,VR_UI,"ReferencedSOPClassUID"},
			{TAG_REF_SOP_INST_UID,VR_UI,"ReferencedSOPInstanceUID"},
			{0x00081160,VR_IS,"ReferencedFrameNumber"},
			{0x00081195,VR_UI,"TransactionUID"},
			{0x00081197,VR_US,"FailureReason"},
			{0x00081198,VR_SQ,"FailedSOPSequence"},
			{TAG_REF_SOP_SEQ,VR_SQ,"ReferencedSOPSequence"},
			{0x00082111,VR_ST,"DerivationDescription"},
			{0x00082112,VR_SQ,"SourceImageSequence"},
			{0x00082120,VR_SH,"StageName"},
			{0x00082122,VR_IS,"StageNumber"},
			{0x00082124,VR_IS,"NumberofStages"},
			{0x00082128,VR_IS,"ViewNumber"},
			{0x00082129,VR_IS,"NumberofEventTimers"},
			{0x0008212A,VR_IS,"NumberofViewsinStage"},
			{0x00082130,VR_DS,"EventElapsedTime(s)"},
			{0x00082132,VR_LO,"EventTimerName(s)"},
			{0x00082142,VR_IS,"StartTrim"},
			{0x00082143,VR_IS,"StopTrim"},
			{0x00082144,VR_IS,"RecommendedDisplayFrameRate"},
			{0x00082218,VR_SQ,"AnatomicRegionSequence"},
			{0x00082220,VR_SQ,"AnatomicRegionModifierSequence"},
			{0x00082228,VR_SQ,"PrimaryAnatomicStructureSequence"},
			{0x00082229,VR_SQ,"AnatomicStructure,SpaceorRegionSequence"},
			{0x00082230,VR_SQ,"PrimaryAnatomicStructureModifierSequence"},
			{0x00082240,VR_SQ,"TransducerPositionSequence"},
			{0x00082242,VR_SQ,"TransducerPositionModifierSequence"},
			{0x00082244,VR_SQ,"TransducerOrientationSequence"},
			{0x00082246,VR_SQ,"TransducerOrientationModifierSequence"},
			{0x00100000,VR_UL,"GroupLength"},
			{TAG_PAT_NAME,VR_PN,"Patient'sName"},
			{TAG_PAT_ID,VR_LO,"PatientID"},
			{0x00100021,VR_LO,"IssuerofPatientID"},
			{TAG_PAT_BIRTH_DATE,VR_DA,"Patient'sBirthDate"},
			{0x00100032,VR_TM,"Patient'sBirthTime"},
			{TAG_PAT_SEX,VR_CS,"Patient'sSex"},
			{0x00100050,VR_SQ,"Patient'sInsurancePlanCodeSequence"},
			{TAG_OTHER_PAT_ID,VR_LO,"OtherPatientIDs"},
			{0x00101001,VR_PN,"OtherPatientNames"},
			{0x00101005,VR_PN,"Patient'sBirthName"},
			{TAG_PAT_AGE,VR_AS,"Patient'sAge"},
			{TAG_PAT_SIZE,VR_DS,"Patient'sSize"},
			{TAG_PAT_WEIGHT,VR_DS,"Patient'sWeight"},
			{TAG_PAT_ADDR,VR_LO,"Patient'sAddress"},
			{0x00101060,VR_PN,"Patient'sMother'sBirthName"},
			{0x00101080,VR_LO,"MilitaryRank"},
			{0x00101081,VR_LO,"BranchofService"},
			{0x00101090,VR_LO,"MedicalRecordLocator"},
			{0x00102000,VR_LO,"MedicalAlerts"},
			{0x00102110,VR_LO,"ContrastAllergies"},
			{0x00102150,VR_LO,"CountryofResidence"},
			{0x00102152,VR_LO,"RegionofResidence"},
			{TAG_PAT_TEL,VR_SH,"Patient'sTelephoneNumbers"},
			{0x00102160,VR_SH,"EthnicGroup"},
			{TAG_OCCUPATION,VR_SH,"Occupation"},
			{0x001021A0,VR_CS,"SmokingStatus"},
			{TAG_ADDITIONAL_PT_HISTORY,VR_LT,"AdditionalPatientHistory"},
			{0x001021C0,VR_US,"PregnancyStatus"},
			{0x001021D0,VR_DA,"LastMenstrualDate"},
			{0x001021F0,VR_LO,"Patient'sReligiousPreference"},
			{TAG_PAT_COMMENT,VR_LT,"PatientComments"},

			//added by mge@swri.ca
			{TAG_CLINICAL_TRIAL_SPONSOR,VR_CS, "ClinicalTrialSponsorName"},
			{0x00120020,VR_CS,"ClinicalTrialProtocolID"},	
			{TAG_CLINICAL_TRIAL_PROT_NAME,VR_CS,"ClinicalTrialProtocolName"},
			{0x00120030,VR_CS,"ClinicalTrialSiteID"},
			{TAG_CLINICAL_TRIAL_SITE_NAME,VR_CS,"ClinicalTrialSiteName"},
			{0x00120040,VR_CS,"ClinicalTrialSubjectID"},
			{0x00120042,VR_CS,"ClinicalTrialSubjectReadingID"},
			{0x00120050,VR_CS,"ClinicalTrialTimePointID"},
			{0x00120051,VR_CS,"ClinicalTrialTimePointDescription"},
			{TAG_CLINICAL_TRIAL_CENTER,VR_CS, "ClinicalTrialCoordinatingCenterName"},

			// !might need these! However, (0x0013,****) not in the Standard?
			//{0x00130010,VR_CS,"ProjectName"},
			//{0x00130011,VR_CS,"TrialName"},
			//{0x00130012,VR_CS,"SiteName"},
			//{0x00130013,VR_CS,"SiteID"},
			//{0x00130014,VR_CS,"TrialVisibility"},
			
			{0x00180000,VR_UL,"GroupLength"},
			{0x00180010,VR_LO,"Contrast/BolusAgent"},
			{0x00180012,VR_SQ,"Contrast/BolusAgentSequence"},
			{0x00180014,VR_SQ,"Contrast/BolusAdministrationRouteSequence"},
			{TAG_BODY_PART_EXAMINED,VR_CS,"BodyPartExamined"},
			{0x00180020,VR_CS,"ScanningSequence"},
			{0x00180021,VR_CS,"SequenceVariant"},
			{0x00180022,VR_CS,"ScanOptions"},
			{0x00180023,VR_CS,"MRAcquisitionType"},
			{0x00180024,VR_SH,"SequenceName"},
			{0x00180025,VR_CS,"AngioFlag"},
			{0x00180026,VR_SQ,"InterventionDrugInformationSequence"},
			{0x00180027,VR_TM,"InterventionDrugStopTime"},
			{0x00180028,VR_DS,"InterventionDrugDose"},
			{0x00180029,VR_SQ,"InterventionDrugCodeSequence"},
			{0x0018002A,VR_SQ,"AdditionalDrugSequence"},
			{0x00180031,VR_LO,"Radiopharmaceutical"},
			{0x00180034,VR_LO,"InterventionDrugName"},
			{0x00180035,VR_TM,"InterventionDrugStartTime"},
			{0x00180036,VR_SQ,"InterventionalTherapySequence"},
			{0x00180037,VR_CS,"TherapyType"},
			{0x00180038,VR_CS,"InterventionalStatus"},
			{0x00180039,VR_CS,"TherapyDescription"},
			{0x00180040,VR_IS,"CineRate"},
			{0x00180050,VR_DS,"SliceThickness"},
			{TAG_SLANT_ANGLE,VR_US,"SlantAngle"},  //added by Sam Shen for GMD QC
			{TAG_KVP,VR_DS,"KVP"},
			{0x00180070,VR_IS,"CountsAccumulated"},
			{0x00180071,VR_CS,"AcquisitionTerminationCondition"},
			{0x00180072,VR_DS,"EffectiveSeriesDuration"},
			{0x00180073,VR_CS,"AcquisitionStartCondition"},
			{0x00180074,VR_IS,"AcquisitionStartConditionData"},
			{0x00180075,VR_IS,"AcquisitionTerminationConditionData"},
			{0x00180080,VR_DS,"RepetitionTime"},
			{0x00180081,VR_DS,"EchoTime"},
			{0x00180082,VR_DS,"InversionTime"},
			{0x00180083,VR_DS,"NumberofAverages"},
			{0x00180084,VR_DS,"ImagingFrequency"},
			{0x00180085,VR_SH,"ImagedNucleus"},
			{0x00180086,VR_IS,"EchoNumber(s)"},
			{0x00180087,VR_DS,"MagneticFieldStrength"},
			{0x00180088,VR_DS,"SpacingBetweenSlices"},
			{0x00180089,VR_IS,"NumberofPhaseEncodingSteps"},
			{0x00180090,VR_DS,"DataCollectionDiameter"},
			{0x00180091,VR_IS,"EchoTrainLength"},
			{0x00180093,VR_DS,"PercentSampling"},
			{0x00180094,VR_DS,"PercentPhaseFieldofView"},
			{0x00180095,VR_DS,"PixelBandwidth"},
			{TAG_DEVICE_SERIAL_NUMBER,VR_LO,"DeviceSerialNumber"},
			{TAG_PLATE_ID,VR_LO,"PlateID"},
			{TAG_SECONDARY_CAPTURE_DEVICE_ID,VR_LO,"SecondaryCaptureDeviceID"},
			{0x00181011,VR_LO,"HardcopyCreationDeviceID"},
			{0x00181012,VR_DA,"DateofSecondaryCapture"},
			{0x00181014,VR_TM,"TimeofSecondaryCapture"},
			{TAG_SECONDARY_CAPTURE_DEVICE_MANUFACTURER,VR_LO,"SecondaryCaptureDeviceManufacturer"},
			{TAG_HARDCOPY_DEVICE_MANUFACTURER,VR_LO,"HardcopyDeviceManufacturer"},
			{TAG_SECONDARY_CAPTURE_DEVICE_MODEL_NAME,VR_LO,"SecondaryCaptureDeviceManufacturer'sModelName"},
			{TAG_SECONDARY_CAPTURE_DEVICE_SOFTWARE_VERSION,VR_LO,"SecondaryCaptureDeviceSoftwareVersion(s)"},
			{0x0018101A,VR_LO,"HardcopyDeviceSoftwareVersion"},
			{0x0018101B,VR_LO,"HardcopyDeviceManfuacturer'sModelName"},
			{TAG_SOFTWARE_VERSION,VR_LO,"SoftwareVersion(s)"},
			{TAG_VIDEO_IMAGE_FORMAT_ACQUIRED,VR_SH,"VideoImageFormatAcquired"},
			{0x00181023,VR_LO,"DigitalImageFormatAcquired"},
			{TAG_PROT_NAME,VR_LO,"ProtocolName"},
			{0x00181040,VR_LO,"Contrast/BolusRoute"},
			{0x00181041,VR_DS,"Contrast/BolusVolume"},
			{0x00181042,VR_TM,"Contrast/BolusStartTime"},
			{0x00181043,VR_TM,"Contrast/BolusStopTime"},
			{0x00181044,VR_DS,"Contrast/BolusTotalDose"},
			{0x00181045,VR_IS,"SyringeCounts"},
			{0x00181046,VR_DS,"ContrastFlowRate(s)"},
			{0x00181047,VR_DS,"ContrastFlowDuration(s)"},
			{0x00181048,VR_CS,"Contrast/BolusIngredient"},
			{0x00181049,VR_DS,"Contrast/BolusIngredientConcentration"},
			{0x00181050,VR_DS,"SpatialResolution"},
			{0x00181060,VR_DS,"TriggerTime"},
			{0x00181061,VR_LO,"TriggerSourceorType"},
			{0x00181062,VR_IS,"NominalInterval"},
			{0x00181063,VR_DS,"FrameTime"},
			{0x00181064,VR_LO,"FramingType"},
			{0x00181065,VR_DS,"FrameTimeVector"},
			{0x00181066,VR_DS,"FrameDelay"},
			{0x00181070,VR_LO,"RadiopharmaceuticalRoute"},
			{0x00181071,VR_DS,"RadiopharmaceuticalVolume"},
			{0x00181072,VR_TM,"RadiopharmaceuticalStartTime"},
			{0x00181073,VR_TM,"RadiopharmaceuticalStopTime"},
			{0x00181074,VR_DS,"RadionuclideTotalDose"},
			{0x00181075,VR_DS,"RadionuclideHalfLife"},
			{0x00181076,VR_DS,"RadionuclidePositronFraction"},
			{0x00181077,VR_DS,"RadiopharmaceuticalSpecificActivity"},
			{0x00181080,VR_CS,"BeatRejectionFlag"},
			{0x00181081,VR_IS,"LowR-RValue"},
			{0x00181082,VR_IS,"HighR-RValue"},
			{0x00181083,VR_IS,"IntervalsAcquired"},
			{0x00181084,VR_IS,"IntervalsRejected"},
			{0x00181085,VR_LO,"PVCRejection"},
			{0x00181086,VR_IS,"SkipBeats"},
			{0x00181088,VR_IS,"HeartRate"},
			{0x00181090,VR_IS,"CardiacNumberofImages"},
			{0x00181094,VR_IS,"TriggerWindow"},
			{0x00181100,VR_DS,"ReconstructionDiameter"},
			{0x00181110,VR_DS,"DistanceSourcetoDetector"},
			{0x00181111,VR_DS,"DistanceSourcetoPatient"},
			{TAG_ESTIMATED_RADIOGRAPHIC_MAGNIFICATION_FACTOR,VR_DS,"EstimatedRadiographicMagnificationFactor"},
			{0x00181120,VR_DS,"Gantry/DetectorTilt"},
			{0x00181121,VR_DS,"Gantry/DetectorSlew"},
			{0x00181130,VR_DS,"TableHeight"},
			{0x00181131,VR_DS,"TableTraverse"},
			{0x00181134,VR_CS,"TableMotion"},
			{0x00181135,VR_DS,"TableVerticalIncrement"},
			{0x00181136,VR_DS,"TableLateralIncrement"},
			{0x00181137,VR_DS,"TableLongitudinalIncrement"},
			{0x00181138,VR_DS,"TableAngle"},
			{0x0018113A,VR_CS,"TableType"},
			{0x00181140,VR_CS,"RotationDirection"},
			{0x00181141,VR_DS,"AngularPosition"},
			{0x00181142,VR_DS,"RadialPosition"},
			{0x00181143,VR_DS,"ScanArc"},
			{0x00181144,VR_DS,"AngularStep"},
			{0x00181145,VR_DS,"CenterofRotationOffset"},
			{0x00181147,VR_CS,"FieldofViewShape"},
			{0x00181149,VR_IS,"FieldofViewDimension(s)"},
			{0x00181150,VR_IS,"ExposureTime"},
			{0x00181151,VR_IS,"X-rayTubeCurrent"},
			{TAG_EXPOSURE_MAS,VR_IS,"Exposure"},
			{0x00181153,VR_IS,"ExposureinuAs"},
			{0x00181154,VR_DS,"AveragePulseWidth"},
			{0x00181155,VR_CS,"RadiationSetting"},
			{0x00181156,VR_CS,"RectificationType"},
			{0x0018115A,VR_CS,"RadiationMode"},
			{0x0018115E,VR_DS,"ImageAreaDoseProduct"},
			{0x00181160,VR_SH,"FilterType"},
			{0x00181161,VR_LO,"TypeofFilters"},
			{0x00181162,VR_DS,"IntensifierSize"},
			{TAG_IMGR_PIXEL_SPACING,VR_DS,"ImagerPixelSpacing"},
			{0x00181166,VR_CS,"Grid"},
			{0x00181170,VR_IS,"GeneratorPower"},
			{0x00181180,VR_SH,"Collimator/gridName"},
			{0x00181181,VR_CS,"CollimatorType"},
			{0x00181182,VR_IS,"FocalDistance"},
			{0x00181183,VR_DS,"XFocusCenter"},
			{0x00181184,VR_DS,"YFocusCenter"},
			{TAG_FOCAL_SPOT,VR_DS,"FocalSpot(s)"},

			//This looks highly suspect to me...
			//{TAG_SENSITIVITY,VR_CS,"AnodeTargetMaterial"},
			{TAG_ANODE_MATERIAL,VR_CS,"AnodeTargetMaterial"},//!mge corrected @Feb4, 2009

			{TAG_BODY_PART_THICKNESS,VR_DS,"BodyPartThickness"},
			{TAG_COMPRESSION_FORCE,VR_DS,"CompressionForce"},
			{0x00181200,VR_DA,"DateofLastCalibration"},
			{0x00181201,VR_TM,"TimeofLastCalibration"},
			{0x00181210,VR_SH,"ConvolutionKernel"},
			{0x00181242,VR_IS,"ActualFrameDuration"},
			{0x00181243,VR_IS,"CountRate"},
			{0x00181244,VR_US,"PreferredPlaybackSequencing"},
			{0x00181250,VR_SH,"ReceivingCoil"},
			{0x00181251,VR_SH,"TransmittingCoil"},
			{0x00181260,VR_SH,"PlateType"},
			{0x00181261,VR_LO,"PhosphorType"},
			{0x00181300,VR_DS,"ScanVelocity"},
			{0x00181301,VR_CS,"WholeBodyTechnique"},
			{0x00181302,VR_IS,"ScanLength"},
			{0x00181310,VR_US,"AcquisitionMatrix"},
			{0x00181312,VR_CS,"PhaseEncodingDirection"},
			{0x00181314,VR_DS,"FlipAngle"},
			{0x00181315,VR_CS,"VariableFlipAngleFlag"},
			{0x00181316,VR_DS,"SAR"},
			{0x00181318,VR_DS,"dB/dt"},
			{0x00181400,VR_LO,"AcquisitionDeviceProcessingDescription"},
			{0x00181401,VR_LO,"AcquisitionDeviceProcessingCode"},
			{0x00181402,VR_CS,"CassetteOrientation"},
			{0x00181403,VR_CS,"CassetteSize"},
			{0x00181404,VR_US,"ExposuresonPlate"},
			{TAG_REL_X_RAY_EXPOSURE,VR_IS,"RelativeX-rayExposure"},
			{0x00181450,VR_CS,"ColumnAngulation"},
			{0x00181460,VR_DS,"TomoLayerHeight"},
			{0x00181470,VR_DS,"TomoAngle"},
			{0x00181480,VR_DS,"TomoTime"},
			{0x00181490,VR_CS,"TomoType"},
			{0x00181491,VR_CS,"TomoClass"},
			{0x00181495,VR_IS,"NumberOfTomoSynthesisSourceImages"},
			{0x00181500,VR_CS,"PositionerMotion"},
			{0x00181508,VR_CS,"PositionerType"},
			{0x00181510,VR_DS,"PositionerPrimaryAngle"},
			{0x00181511,VR_DS,"PositionerSecondaryAngle"},
			{0x00181520,VR_DS,"PositionerPrimaryAngleIncrement"},
			{0x00181521,VR_DS,"PositionerSecondaryAngleIncrement"},
			{0x00181530,VR_DS,"DetectorPrimaryAngle"},
			{0x00181531,VR_DS,"DetectorSecondaryAngle"},
			{0x00181600,VR_CS,"ShutterShape"},
			{0x00181602,VR_IS,"ShutterLeftVerticalEdge"},
			{0x00181604,VR_IS,"ShutterRightVerticalEdge"},
			{0x00181606,VR_IS,"ShutterUpperHorizontalEdge"},
			{0x00181608,VR_IS,"ShutterLowerHorizontalEdge"},
			{0x00181610,VR_IS,"CenterofCircularShutter"},
			{0x00181612,VR_IS,"RadiusofCircularShutter"},
			{0x00181620,VR_IS,"VerticesofthePolygonalShutter"},
			{0x00181700,VR_CS,"CollimatorShape"},
			{TAG_COLLIMATOR_LEFT_EDGE,VR_IS,"CollimatorLeftVerticalEdge"},
			{TAG_COLLIMATOR_RIGHT_EDGE,VR_IS,"CollimatorRightVerticalEdge"},
			{TAG_COLLIMATOR_UPPER_EDGE,VR_IS,"CollimatorUpperHorizontalEdge"},
			{TAG_COLLIMATOR_LOWER_EDGE,VR_IS,"CollimatorLowerHorizontalEdge"},
			{0x00181710,VR_IS,"CenterofCircularCollimator"},
			{0x00181712,VR_IS,"RadiusofCircularCollimator"},
			{0x00181720,VR_IS,"VerticesofthePolygonalCollimator"},
			{0x00182010,VR_DS,"NorminalScannedPixelSpacing"},
			{0x00185000,VR_SH,"OutputPower"},
			{0x00185010,VR_LO,"TransducerData"},
			{0x00185012,VR_DS,"FocusDepth"},
			{0x00185020,VR_LO,"ProcessingFunction"},
			{0x00185021,VR_LO,"PostprocessingFunction"},
			{0x00185022,VR_DS,"MechanicalIndex"},
			{0x00185024,VR_DS,"ThermalIndex"},
			{0x00185026,VR_DS,"CranialThermalIndex"},
			{0x00185027,VR_DS,"SoftTissueThermalIndex"},
			{0x00185028,VR_DS,"SoftTissue-focusThermalIndex"},
			{0x00185029,VR_DS,"SoftTissue-surfaceThermalIndex"},
			{0x00185050,VR_IS,"DepthofScanField"},
			{0x00185100,VR_CS,"PatientPosition"},
			{TAG_VIEW_POSITION,VR_CS,"ViewPosition"},
			{0x00185104,VR_SQ,"ProjectionEponymousNameCodeSequence"},
			{0x00185210,VR_DS,"ImageTransformationMatrix"},
			{0x00185212,VR_DS,"ImageTranslationVector"},
			{TAG_SENSITIVITY,VR_DS,"Sensitivity"},//{0x00186000,VR_DS,"Sensitivity"},
			{0x00186011,VR_SQ,"SequenceofUltrasoundRegions"},
			{0x00186012,VR_US,"RegionSpatialFormat"},
			{0x00186014,VR_US,"RegionDataType"},
			{0x00186016,VR_UL,"RegionFlags"},
			{0x00186018,VR_UL,"RegionLocationMinX0"},
			{0x0018601A,VR_UL,"RegionLocationMinY0"},
			{0x0018601C,VR_UL,"RegionLocationMaxX1"},
			{0x0018601E,VR_UL,"RegionLocationMaxY1"},
			{0x00186020,VR_SL,"ReferencePixelX0"},
			{0x00186022,VR_SL,"ReferencePixelY0"},
			{0x00186024,VR_US,"PhysicalUnitsXDirection"},
			{0x00186026,VR_US,"PhysicalUnitsYDirection"},
			{0x00186028,VR_FD,"ReferencePixelPhysicalValueX"},
			{0x0018602A,VR_FD,"ReferencePixelPhysicalValueY"},
			{0x0018602C,VR_FD,"PhysicalDeltaX"},
			{0x0018602E,VR_FD,"PhysicalDeltaY"},
			{0x00186030,VR_UL,"TransducerFrequency"},
			{0x00186031,VR_CS,"TransducerType"},
			{0x00186032,VR_UL,"PulseRepetitionFrequency"},
			{0x00186034,VR_FD,"DopplerCorrectionAngle"},
			{0x00186036,VR_FD,"SteeringAngle"},
			{0x00186038,VR_UL,"DopplerSampleVolumeXPosition"},
			{0x0018603A,VR_UL,"DopplerSampleVolumeYPosition"},
			{0x0018603C,VR_UL,"TM-LinePositionX0"},
			{0x0018603E,VR_UL,"TM-LinePositionY0"},
			{0x00186040,VR_UL,"TM-LinePositionX1"},
			{0x00186042,VR_UL,"TM-LinePositionY1"},
			{0x00186044,VR_US,"PixelComponentOrganization"},
			{0x00186046,VR_UL,"PixelComponentMask"},
			{0x00186048,VR_UL,"PixelComponentRangeStart"},
			{0x0018604A,VR_UL,"PixelComponentRangeStop"},
			{0x0018604C,VR_US,"PixelComponentPhysicalUnits"},
			{0x0018604E,VR_US,"PixelComponentDataType"},
			{0x00186050,VR_UL,"NumberofTableBreakPoints"},
			{0x00186052,VR_UL,"TableofXBreakPoints"},
			{0x00186054,VR_FD,"TableofYBreakPoints"},
			{0x00186056,VR_UL,"NumberofTableEntries"},
			{0x00186058,VR_UL,"TableofPixelValues"},
			{0x0018605A,VR_FL,"TableofParameterValues"},
			{0x00187000,VR_CS,"DetectorConditionsNominalFlag"},
			{0x00187001,VR_DS,"DetectorTemperature"},
			{0x00187004,VR_CS,"DetectorType"},
			{0x00187005,VR_CS,"DetectorConfiguration"},
			{0x00187006,VR_LT,"DetectorDescription"},
			{0x00187008,VR_LT,"DetectorMode"},
			{TAG_DETECTOR_ID,VR_SH,"DetectorID"}, //0x0018700A
			{0x0018700C,VR_DA,"DateOfLastDetectorCalibration"},
			{0x0018700E,VR_TM,"TimeOfLastDetectorCalibration"},
			{0x00187010,VR_IS,"ExposuresOnDetectorSinceLastCalibration"},
			{0x00187011,VR_IS,"ExposuresOnDetectorSinceManufactured"},
			{0x00187012,VR_DS,"DetectorTimeSinceLastExposure"},
			{0x00187014,VR_DS,"DetectorActiveTime"},
			{0x00187016,VR_DS,"DetectorActivationOffsetFromExposure"},
			{0x0018701A,VR_DS,"DetectorBinning"},
			{0x00187020,VR_DS,"DetectorElementPhysicalSize"},
			{0x00187022,VR_DS,"DetectorElementSpacing"},
			{0x00187024,VR_CS,"DetectorActiveShape"},
			{0x00187026,VR_DS,"DetectorActiveDimension(s)"},
			{0x00187028,VR_DS,"DetectorActiveOringin"},
			{0x00187030,VR_DS,"FieldOfViewOrigin"},
			{0x00187032,VR_DS,"FieldOfViewRotation"},
			{0x00187034,VR_CS,"FieldOfViewHorizontalFlip"},
			{0x00187040,VR_LT,"GridAbsorbingMaterial"},
			{0x00187041,VR_LT,"GridSpacingMaterial"},
			{0x00187042,VR_DS,"GridThickness"},
			{0x00187044,VR_DS,"GridPitch"},
			{0x00187046,VR_IS,"GridAspectRatio"},
			{0x00187048,VR_DS,"GridPeriod"},
			{0x0018704C,VR_DS,"GridFocalDistance"},
			//{TAG_FILTER_MATERIAL,VR_LT,"FilterMaterial"},
			{TAG_FILTER_MATERIAL,VR_CS,"FilterMaterial"},//!mge @Feb 4, 2009 see PS 3.6-2008 p25
			{TAG_FILTER_THICKNESS_MIN,VR_DS,"FilterThicknessMinimum"},
			{TAG_FILTER_THICKNESS_MAX,VR_DS,"FilterThicknessMaximum"},
			{TAG_EXPOSURE_CONTROL_MODE,VR_CS,"ExposureControlMode"},
			{TAG_EXPOSURE_CONTROL_MODE_DESC,VR_LT,"ExposureControlModeDescription"},
			{0x00187064,VR_CS,"ExposureStatus"},
			{0x00187065,VR_DS,"PhototimerSetting"},
			{0x00188150,VR_DS,"ExposureTimeInMicroSec"},
			{0x00188151,VR_DS,"XRayTubeCurrentInMicroAmp"},
			//This section is X-Ray Iso-Center Ref. System Macro tags, added by Aili
			{TAG_ISOCENTRE_REF_SEQUENCE, VR_SQ, "X-ray IsoCentre Ref. Seq"},
			{TAG_ISOCENTRE_PRIMARY_ANGLE, VR_FL, "IsoCentre primary angle"},
			{TAG_ISOCENTRE_SECONDARY_ANGLE, VR_FL, "IsoCentre secondary angle"},
			{TAG_ISOCENTRE_DETECTOR_ROT_ANGLE, VR_FL, "IsoCentre detector rot. angle"},
			{TAG_TABLE_X_POS_TO_ISO_CTR, VR_FL, "Table X pos. to IsoCentre"},
			{TAG_TABLE_Y_POS_TO_ISO_CTR, VR_FL, "Table Y pos. to IsoCentre"},
			{TAG_TABLE_Z_POS_TO_ISO_CTR, VR_FL, "Table Z pos. to IsoCentre"},
			{TAG_TABLE_HORIZ_ROT_ANGLE, VR_FL, "Table Horiz Rot. Angle"},
			{TAG_TABLE_HEAD_TILT_ANGLE, VR_FL, "Table Head tilt Angle"},
			{TAG_TABLE_CRADLE_TILT_ANGLE, VR_FL, "Table Cradle tilt Angle"},	
			//this section is Sunnybrook Private tags for motor positions, added by AILI
			//these contain motor positions in mm
			{TAG_SANDBOX_PRIVATE_CREATOR, VR_LO,"PrivatTagCreatorTomo"},
			{TAG_MOTOR_SOURCE_LONGITUDINAL,VR_DS,"MotorSourceLong"},
			{TAG_MOTOR_SOURCE_TRANSVERSE,VR_DS,"MotorSourceTrans"},
			{TAG_MOTOR_DETECTOR_LONGITUDINAL,VR_DS,"MotorDetectorLong"},
			{TAG_MOTOR_DETECTOR_TRANSVERSE,VR_DS,"MotorDetectorTrans"},
			{TAG_MOTOR_SOURCE_ROTATIONAL,VR_DS,"MotorSoureRot"},
			{TAG_MOTOR_DETECTOR_ROTATIONAL,VR_DS,"MotorDetectorRot"},
			{TAG_MOTOR_OBJECT_ROTATIONAL,VR_DS,"MotorObjectRot"},
			{TAG_NUMBER_SPITS,VR_IS,"NumberOfSpits"},
			{TAG_NUMBER_FRAMES,VR_IS,"NumberOfFrames"},

			{0x00200000,VR_UL,"GroupLength"},
			{TAG_STUDY_INST_UID,VR_UI,"StudyInstanceUID"},
			{TAG_SERIES_INST_UID,VR_UI,"SeriesInstanceUID"},
			{TAG_STUDY_ID,VR_SH,"StudyID"},
			{TAG_SERIES_NO,VR_IS,"SeriesNumber"},
			{TAG_ACQUISITION_NO,VR_IS,"AcquisitionNumber"},
			{TAG_IMAGE_NO,VR_IS,"InstanceNumber"},
			{TAG_PATIENT_ORIENTATION,VR_CS,"PatientOrientation"},
			{TAG_OVERLAY_NO,VR_IS,"OverlayNumber"},
			{TAG_CURVE_NO,VR_IS,"CurveNumber"},
			{TAG_LUT_NO,VR_IS,"LookupTableNumber"},
			{0x00200032,VR_DS,"ImagePosition(Patient)"},
			{TAG_IMAGE_ORIENTATION,VR_DS,"ImageOrientation(Patient)"},
			{0x00200052,VR_UI,"FrameofReferenceUID"},
			{TAG_LATERALITY,VR_CS,"Laterality"},
			{TAG_IMAGE_LATERALITY,VR_CS,"ImageLaterality"},
			{0x00200100,VR_IS,"TemporalPositionIdentifier"},
			{0x00200105,VR_IS,"NumberofTemporalPositions"},
			{0x00200110,VR_DS,"TemporalResolution"},
			{0x00201000,VR_IS,"SeriesinStudy"},
			{0x00201002,VR_IS,"ImagesinAcquisition"},
			{0x00201004,VR_IS,"AcquisitionsinStudy"},
			{0x00201040,VR_LO,"PositionReferenceIndicator"},
			{0x00201041,VR_DS,"SliceLocation"},
			{0x00201070,VR_IS,"OtherStudyNumbers"},
			{TAG_NO_PAT_REL_STUDIES,VR_IS,"NumberofPatientRelatedStudies"},
			{TAG_NO_PAT_REL_SERIES,VR_IS,"NumberofPatientRelatedSeries"},
			{TAG_NO_PAT_REL_IMAGES,VR_IS,"NumberofPatientRelatedImages"},
			{TAG_NO_STUDY_REL_SERIES,VR_IS,"NumberofStudyRelatedSeries"},
			{TAG_NO_STUDY_REL_IMAGES,VR_IS,"NumberofStudyRelatedImages"},
			{TAG_NO_SERIES_REL_IMAGES,VR_IS,"NumberofSeriesRelatedImages"},
			{0x00204000,VR_LT,"ImageComments"},


			{0x00210010,VR_CS,"FischerPrivateTag00210010"},
			{0x00210011,VR_CS,"FischerPrivateTag00210011"},
			{0x00211001,VR_CS,"FischerPrivateTag00211001"},
			{0x00211002,VR_CS,"FischerPrivateTag00211002"},
			{0x00211003,VR_CS,"FischerPrivateTag00211003"},
			{0x00211004,VR_CS,"FischerPrivateTag00211004"},
			{0x00211005,VR_CS,"FischerPrivateTag00211005"},
			{0x00211006,VR_CS,"FischerPrivateTag00211006"},
			{0x00211007,VR_CS,"FischerPrivateTag00211007"},
			{0x00211008,VR_CS,"FischerPrivateTag00211008"},
			{0x00211009,VR_CS,"FischerPrivateTag00211009"},
			{0x00211010,VR_CS,"FischerPrivateTag00211010"},

			{0x00211100,VR_CS,"FischerPrivateTag00211100"},
			{0x00211101,VR_CS,"FischerPrivateTag00211101"},
			{0x00211102,VR_CS,"FischerPrivateTag00211102"},
			{0x00211103,VR_CS,"FischerPrivateTag00211103"},
			{0x00211104,VR_CS,"FischerPrivateTag00211104"},
			{0x00211105,VR_CS,"FischerPrivateTag00211105"},
			{0x00211106,VR_CS,"FischerPrivateTag00211106"},
			{0x00211107,VR_CS,"FischerPrivateTag00211107"},
			{0x00211108,VR_CS,"FischerPrivateTag00211108"},
			{0x00211109,VR_CS,"FischerPrivateTag00211109"},
			{0x00211110,VR_CS,"FischerPrivateTag00211110"},



			{0x00280000,VR_UL,"GroupLength"},
			{TAG_SAMPLES_PER_PX,VR_US,"SamplesperPixel"},
			{TAG_PHOTOMETRIC,VR_CS,"PhotometricInterpretation"},
			{0x00280006,VR_US,"PlanarConfiguration"},
			{0x00280008,VR_IS,"NumberofFrames"},
			{0x00280009,VR_AT,"FrameIncrementPointer"},
			{TAG_ROWS,VR_US,"Rows"},
			{TAG_COLUMNS,VR_US,"Columns"},
			{TAG_PLANES,VR_US,"Planes"},
			{0x00280014,VR_US,"UltrasoundColorDataPresent"},
			{TAG_PIXEL_SPACING,VR_DS,"PixelSpacing"},
			{0x00280031,VR_DS,"ZoomFactor"},
			{0x00280032,VR_DS,"ZoomCenter"},
			{0x00280034,VR_IS,"PixelAspectRatio"},
			{0x00280051,VR_CS,"CorrectedImage"},
			{TAG_BITS_ALLOC,VR_US,"BitsAllocated"},
			{TAG_BITS_STORED,VR_US,"BitsStored"},
			{TAG_HIGH_BIT,VR_US,"HighBit"},
			{TAG_PX_REPRESENT,VR_US,"PixelRepresentation"},
			{0x00280106,VR_US,"SmallestImagePixelValue"},
			{0x00280107,VR_US,"LargestImagePixelValue"},
			{0x00280108,VR_US,"SmallestPixelValueinSeries"},
			{0x00280109,VR_US,"LargestPixelValueinSeries"},
			{0x00280110,VR_US,"SmallestImagePixelValueinPlane"},
			{0x00280111,VR_US,"LargestImagePixelValueinPlane"},
			{0x00280120,VR_US,"PixelPaddingValue"},
			{0x00280300,VR_CS,"QualityControlImage"},
			{0x00280301,VR_CS,"BurnedInAnnotation"},
			{TAG_PXL_INTENSITY_RELATIONSHIP,VR_CS,"PixelIntensityRelationship"},
			{TAG_PXL_INTENSITY_SIGN,VR_SS,"PixelIntensityRelationshipSign"},
			{TAG_WINDOW_CENTER,VR_DS,"WindowCenter"},
			{TAG_WINDOW_WIDTH,VR_DS,"WindowWidth"},
			{TAG_RESCALE_INTERCEPT,VR_DS,"RescaleIntercept"},
			{TAG_RESCALE_SLOPE,VR_DS,"RescaleSlope"},
			{TAG_RESCALE_TYPE,VR_LO,"RescaleType"},
			{0x00281055,VR_LO,"WindowCenter&WidthExplanation"},
			{0x00281090,VR_CS,"RecommendedViewingMode"},
			{0x00281101,VR_US,"RedPaletteColorLookupTableDescriptor"},
			{0x00281102,VR_US,"GreenPaletteColorLookupTableDescriptor"},
			{0x00281103,VR_US,"BluePaletteColorLookupTableDescriptor"},
			{0x00281199,VR_UI,"PaletteColorLookupTableUID"},
			{TAG_RED_PAL_LUT,VR_OW,"RedPaletteColorLookupTableData"},
			{TAG_GREEN_PAL_LUT,VR_OW,"GreenPaletteColorLookupTableData"},
			{TAG_BLUE_PAL_LUT,VR_OW,"BluePaletteColorLookupTableData"},
			{TAG_SEG_RED_PAL_LUT,VR_OW,"SegmentedRedPaletteColorLookupTableData"},
			{TAG_SEG_GREEN_PAL_LUT,VR_OW,"SegmentedGreenPaletteColorLookupTableData"},
			{TAG_SEG_BLUE_PAL_LUT,VR_OW,"SegmentedBluePaletteColorLookupTableData"},
			{0x00281300,VR_CS,"ImplantPresent"},
			{0x00281350,VR_CS,"PartialView"},
			{0x00282110,VR_CS,"LossyImageCompression"},
			{0x00282112,VR_DS,"LossyImageCompressionRatio"},
			{0x00283000,VR_SQ,"ModalityLUTSequence"},
			{0x00283002,VR_US,"LUTDescriptor"},
			{0x00283003,VR_LO,"LUTExplanation"},
			{0x00283004,VR_LO,"ModalityLUTType"},
			{0x00283006,VR_OW,"LUTDataUSor"},//Changed from SS to OW per CP 950 -Sam Shen 29 July 2009
			{0x00283010,VR_SQ,"VOILUTSequence"},
			{0x00285000,VR_SQ,"Bi-PlaneAcquisitionSequence"},
			{0x00286010,VR_US,"RepresentativeFrameNumber"},
			{0x00286020,VR_US,"FrameNumbersofInterest(FOI)"},
			{0x00286022,VR_LO,"Frame(s)ofInterestDescription"},
			{0x00286030,VR_US,"MaskPointer(s)"},
			{0x00286040,VR_US,"RWavePointer"},
			{0x00286100,VR_SQ,"MaskSubtractionSequence"},
			{0x00286101,VR_CS,"MaskOperation"},
			{0x00286102,VR_US,"ApplicableFrameRange"},
			{0x00286110,VR_US,"MaskFrameNumbers"},
			{0x00286112,VR_US,"ContrastFrameAveraging"},
			{0x00286114,VR_FL,"MaskSub-pixelShift"},
			{0x00286120,VR_SS,"TIDOffset"},
			{0x00286190,VR_ST,"MaskOperationExplanation"},
			{0x00320000,VR_UL,"GroupLength"},
			{TAG_STUDY_STATUS_ID,VR_CS,"StudyStatusID"},
			{0x0032000C,VR_CS,"StudyPriorityID"},
			{0x00320012,VR_LO,"StudyIDIssuer"},
			{0x00320032,VR_DA,"StudyVerifiedDate"},
			{0x00320033,VR_TM,"StudyVerifiedTime"},
			{0x00320034,VR_DA,"StudyReadDate"},
			{0x00320035,VR_TM,"StudyReadTime"},
			{0x00321000,VR_DA,"ScheduledStudyStartDate"},
			{0x00321001,VR_TM,"ScheduledStudyStartTime"},
			{0x00321010,VR_DA,"ScheduledStudyStopDate"},
			{0x00321011,VR_TM,"ScheduledStudyStopTime"},
			{0x00321020,VR_LO,"ScheduledStudyLocation"},
			{0x00321021,VR_AE,"ScheduledStudyLocationAETitle(s)"},
			{0x00321030,VR_LO,"ReasonforStudy"},
			{TAG_REQ_PHYS,VR_PN,"RequestingPhysician"},
			{TAG_REQ_SERVICE,VR_LO,"RequestingService"},
			{0x00321040,VR_DA,"StudyArrivalDate"},
			{0x00321041,VR_TM,"StudyArrivalTime"},
			{0x00321050,VR_DA,"StudyCompletionDate"},
			{0x00321051,VR_TM,"StudyCompletionTime"},
			{0x00321055,VR_CS,"StudyComponentStatusID"},
			{TAG_REQ_PROC_DESC,VR_LO,"RequestedProcedureDescription"},
			{0x00321064,VR_SQ,"RequestedProcedureCodeSequence"},
			{TAG_REQ_CONTRAST_AGENT,VR_LO,"RequestedContrastAgent"},
			{0x00324000,VR_LT,"StudyComments"},
			{0x00380000,VR_UL,"GroupLength"},
			{0x00380004,VR_SQ,"ReferencedPatientAliasSequence"},
			{0x00380008,VR_CS,"VisitStatusID"},
			{TAG_ADMISSION_ID,VR_LO,"AdmissionID"},
			{0x00380011,VR_LO,"IssuerofAdmissionID"},
			{TAG_ROUTE_OF_ADMISS,VR_LO,"RouteofAdmissions"},
			{0x0038001A,VR_DA,"ScheduledAdmissionDate"},
			{0x0038001B,VR_TM,"ScheduledAdmissionTime"},
			{0x0038001C,VR_DA,"ScheduledDischargeDate"},
			{0x0038001D,VR_TM,"ScheduledDischargeTime"},
			{0x0038001E,VR_LO,"ScheduledPatientInstitutionResidence"},
			{TAG_ADMIT_DATE,VR_DA,"AdmittingDate"},
			{0x00380021,VR_TM,"AdmittingTime"},
			{0x00380030,VR_DA,"DischargeDate"},
			{0x00380032,VR_TM,"DischargeTime"},
			{0x00380040,VR_LO,"DischargeDiagnosisDescription"},
			{0x00380044,VR_SQ,"DischargeDiagnosisCodeSequence"},
			{0x00380050,VR_LO,"SpecialNeeds"},
			{0x00380300,VR_LO,"CurrentPatientLocation"},
			{0x00380400,VR_LO,"Patient'sInstitutionResidence"},
			{0x00380500,VR_LO,"PatientState"},
			{0x00384000,VR_LT,"VisitComments"},
			{0x00400000,VR_UL,"GroupLength"},
			{TAG_SPS_STATION_AET,VR_AE,"ScheduledStationAETitle"},
			{TAG_SPS_START_DATE,VR_DA,"ScheduledProcedureStepStartDate"},
			{TAG_SPS_START_TIME,VR_TM,"ScheduledProcedureStepStartTime"},
			{TAG_SPS_END_DATE,VR_DA,"ScheduledProcedureStepEndDate"},
			{TAG_SPS_END_TIME,VR_TM,"ScheduledProcedureStepEndTime"},
			{TAG_SPS_PERF_PHYS_NAME,VR_PN,"ScheduledPerformingPhysician'sName"},
			{TAG_SPS_DESC,VR_LO,"ScheduledProcedureStepDescription"},
			{TAG_SPS_ACTION_SEQ,VR_SQ,"ScheduledActionItemCodeSequence"},
			{TAG_SPS_ID,VR_SH,"ScheduledProcedureStepID"},
			{TAG_SPS_STAGE_CODE_SQ,VR_SQ,"StageCodeSequence"},
			{TAG_SPS_PERF_PHYSICIAN_ID_SQ,VR_SQ,"ScheduledPerformingPhysicianIdentificationSequence"},
			{TAG_SPS_STATION_NAME,VR_SH,"ScheduledStationName"},
			{TAG_SPS_LOCATION,VR_SH,"ScheduledProcedureStepLocation"},
			{TAG_PRE_MEDICATION,VR_LO,"Pre-Medication"},
			{TAG_SPS_STATUS,VR_CS,"ScheduledProcedureStepStatus"},
			{TAG_SPS_SEQ,VR_SQ,"ScheduledProcedureStepSequence"},
			{TAG_REF_STANDALONE_SOP_INST_SEQ,VR_SQ,"ReferencedStandaloneSOPInstanceSequence"},
			{TAG_PERF_STATION_AET,VR_AE,"PerformedStationAETitle"},
			{TAG_PERF_STATION_NAME,VR_SH,"PerformedStationName"},
			{TAG_PERF_LOCATION,VR_SH,"PerformedLocation"},
			{TAG_PPS_START_DATE,VR_DA,"PerformedProcedureStepStartDate"},
			{TAG_PPS_START_TIME,VR_TM,"PerformedProcedureStepStartTime"},
			{TAG_PPS_END_DATE,VR_DA,"PerformedProcedureStepEndDate"},
			{TAG_PPS_END_TIME,VR_TM,"PerformedProcedureStepEndTime"},
			{TAG_PPS_STATUS,VR_CS,"PerformedProcedureStepStatus"},
			{TAG_PPS_ID,VR_SH,"PerformedProcedureStepID"},
			{TAG_PPS_DESC,VR_LO,"PerformedProcedureStepDescription"},
			{TAG_PERF_TYPE_DESC,VR_LO,"PerformedProcedureTypeDescription"},
			{TAG_PERF_ACTION_SEQ,VR_SQ,"PerformedActionItemSequence"},
			{TAG_SPS_ATTRIB_SEQ,VR_SQ,"ScheduledStepAttributesSequence"},
			{TAG_REQ_ATTRIB_SEQ,VR_SQ,"RequestAttributesSequence"},
			{TAG_COMMENT_PPS,VR_ST,"CommentsonthePerformedProcedureSteps"},
			{TAG_QUANTITY_SEQ,VR_SQ,"QuantitySequence"},
			{TAG_QUANTITY,VR_DS,"Quantity"},
			{TAG_MEASURING_UNITS_SEQ,VR_SQ,"MeasuringUnitsSequence"},
			{TAG_BILLING_ITEM_SEQ,VR_SQ,"BillingItemSequence"},
			{TAG_TOT_TIME_FLUOROS,VR_US,"TotalTimeofFluoroscopy"},
			{TAG_TOT_NUM_EXPOS,VR_US,"TotalNumberofExposures"},
			{TAG_ENTRANCE_DOSE,VR_US,"EntranceDose"},
			{TAG_EXPOSED_AREA,VR_US,"ExposedArea"},
			{TAG_DISTANCE_SOURCE_ENTRANCE,VR_DS,"DistanceSourcetoEntrance"},
			{0x00400307,VR_DS,"DistanceSourcetoSupport"},
			{TAG_COMMENT_RADIATION_DOSE,VR_ST,"CommentsonRadiationDose"},
			{0x00400312,VR_DS,"X-RayOutput"},
			{0x00400314,VR_DS,"HalfValueLayer"},
			{TAG_ORGAN_DOSE,VR_DS,"OrganDose"},
			{0x00400318,VR_CS,"OrganExposed"},
			{TAG_BILLING_PPS_SEQ,VR_SQ,"BillingProcedureStepSequence"},
			{TAG_FILM_CONSUM_SEQ,VR_SQ,"FilmConsumptionSequence"},
			{TAG_BILLING_SUPPL_DEVICES_SEQ,VR_SQ,"BillingSuppliesandDevicesSequence"},
			{TAG_REF_PPS_SEQ,VR_SQ,"ReferencedProcedureStepSequence"},
			{TAG_PERF_SERIES_SEQ,VR_SQ,"PerformedSeriesSequence"},
			{TAG_COMMENTS_ON_SPS,VR_LT,"CommentsontheScheduledProcedureStep"},
			{0x00400555,VR_SQ,"AcquisitionContextSequence"},
			{0x00400556,VR_ST,"AcquisitionContextDescription"},
			{0x004008EA,VR_SQ,"MeasurementUnitsCodeSequence"},
			{TAG_REQ_PROC_ID,VR_SH,"RequestedProcedureID"},
			{TAG_REASON_REQ_PROC,VR_LO,"ReasonfortheRequestedProcedure"},
			{TAG_REQ_PROC_PRIORITY,VR_SH,"RequestedProcedurePriority"},
			{TAG_PAT_TRANS_ARRANGE,VR_LO,"PatientTransportArrangements"},
			{TAG_REQ_PROCEDURE_LOC,VR_LO,"RequestedProcedureLocation"},
			{TAG_PLACER_ORDER_NUM_PROC,VR_SH,"PlacerOrderNumber/Procedure"},
			{TAG_FILLER_ORDER_NUM_PROC,VR_SH,"FillerOrderNumber/Procedure"},
			{TAG_CONFID_CODE,VR_LO,"ConfidentialityCode"},
			{TAG_REPORT_PRIORITY,VR_SH,"ReportingPriority"},
			{TAG_RECIPIENTS_OF_RESULT,VR_PN,"NamesofIntendedRecipientsofResults"},
			{0x00401060,VR_ST,"RequestedProcedureDescription"},
			{0x00401064,VR_SQ,"RequestedProcedureCodeSequence"},
			{TAG_REQ_PROC_COMMENT,VR_LT,"RequestedProcedureComments"},
			{TAG_REASON_ISRQ,VR_LO,"ReasonfortheImagingServiceRequest"},
			{TAG_ISSUE_DATE_ISRQ,VR_DA,"IssueDateofImagingServiceRequest"},
			{TAG_ISSUE_TIME_ISRQ,VR_TM,"IssueTimeofImagingServiceRequest"},
			{TAG_PLACER_ORDER_NO_ISRQ,VR_SH,"PlacerOrderNumber/ImagingServiceRequest"},
			{TAG_FILLER_ORDER_NO_ISRQ,VR_SH,"FillerOrderNumber/ImagingServiceRequest"},
			{TAG_ORDER_ENTEREDBY,VR_PN,"OrderEnteredBy"},
			{TAG_ORDER_ENTERER,VR_SH,"OrderEnterer'sLocation"},
			{TAG_ORDER_CALLBACK_TEL,VR_SH,"OrderCallbackPhoneNumber"},
			{0x00402016,VR_LO,"PlacerOrderNumber/ImagingServiceRequest"},
			{0x00402017,VR_LO,"FillerOrderNumber/ImagingServiceRequest"},
			{TAG_ISRQ_COMMENTS,VR_LT,"ImagingServiceRequestComments"},
			{TAG_CONFID_CONSTRAIN_PAT_DESC,VR_LO,"ConfidentialityConstraintonPatientDataDescription"},
			{TAG_RELATIONSHIP_TYPE,VR_CS,"RelationshipType"},
			{TAG_VERIFYING_ORGANIZATION,VR_LO,"VerifyingOrganization"},
			{TAG_VERIFICATION_DATE_TIME,VR_DT,"VerificationDateTime"},
			{TAG_OBSERVATION_DATE_TIME,VR_DT,"ObservationDateTime"},
			{TAG_VALUE_TYPE,VR_CS,"ValueType"},
			{TAG_CONCEPT_NAME_CODE_SEQ,VR_SQ,"ConceptNameCodeSequence"},
			{TAG_CONTINUITY_OF_CONTENT,VR_CS,"ContinuityOfContent"},
			{TAG_VERIFYING_OBSERVER_SEQ,VR_SQ,"VerifyingObserverSequence"},
			{TAG_VERIFYING_OBSERVER_NAME,VR_PN,"VerifyingObserverName"},
			{TAG_VERF_OBSERVER_ID_CODE_SEQ,VR_SQ,"VerifyingObserverIdentificationCodeSequence"},
			{0x0040A0B0,VR_US,"ReferencedWaveformChannels"},
			{TAG_DATE_TIME,VR_DT,"DateTime"},
			{0x0040A121,VR_DA,"Date"},
			{0x0040A122,VR_TM,"Time"},
			{0x0040A123,VR_PN,"PersonName"},
			{0x0040A124,VR_UI,"UID"},
			{0x0040A130,VR_CS,"TemporalRangeType"},
			{0x0040A132,VR_US,"ReferencedSamplePositions"},
			{0x0040A136,VR_US,"ReferencedFrameNumbers"},
			{0x0040A138,VR_US,"ReferencedTimeOffsets"},
			{0x0040A13A,VR_DT,"ReferencedDateTime"},
			{0x0040A160,VR_UT,"TextValue"},
			{0x0040A168,VR_SQ,"ConceptCodeSequence"},
			{TAG_MEASURED_VALUE_SEQ,VR_SQ,"MeasuredValueSequence"},
			{0x0040A30A,VR_DS,"NumericValue"},
			{TAG_PREDECESSOR_DOCUMENTS_SEQ,VR_SQ,"PredecessorDocumentsSequence"},
			{TAG_REFERENCED_REQUEST_SEQ,VR_SQ,"ReferencedRequestSequence"},
			{TAG_PERFORMED_PROCEDURE_CODE_SEQ,VR_SQ,"PerformProcedureCodeSequence"},
			{TAG_REQEUSTED_PROCEDURE_EVIDENCE_SEQ,VR_SQ,"CurrentRequestedProcedureEvidenceSequence"},
			{TAG_PERTINENT_OTHER_EVIDENCE_SEQ,VR_SQ,"PatientOtherEvidenceSequence"},
			{TAG_COMPLETION_FLAG,VR_CS,"CompletionFlag"},
			{TAG_COMPLETION_FLAG_DESC,VR_LO,"CompletionFlagDescription"},
			{TAG_VERIFICATION_FLAG,VR_CS,"VerificationFlag"},
			{TAG_CONTENT_TEMPLATE_SEQ,VR_SQ,"ContentTemplateSequence"},
			{TAG_IDENTICAL_DOCUMENTS_SEQ,VR_SQ,"IdenticalDocumentsSequence"},
			{TAG_CONTENT_SEQ,VR_SQ,"ContentSequence"},
			{TAG_TEMPLATE_ID,VR_CS,"TemplateIdentifier"},
			{TAG_TEMPLATE_VERSION,VR_DT,"TemplateVersion"},
			{TAG_TEMPLATE_LOCAL_VERSION,VR_DT,"TemplateLocalVersion"},
			{TAG_TEMPLATE_EXTENSION_FLAG,VR_CS,"TemplateExtensionFlag"},
			{TAG_TEMPLATE_EXTENSION_ORGANIZATION_UID,VR_UI,"TemplateExtensionOrganizationUID"},
			{TAG_TEMPLATE_EXTENSION_CREATOR_UID,VR_UI,"TemplateExtensionCreatorUID"},
			{TAG_REFERENCED_CONTENT_ITEM_ID,VR_UL,"ReferencedContentItemIdentifier"},

			//Pathology specimen related data elements by Supp122 - mge Feb15 2008
			{0x00401111,VR_LO,"NamespaceID"},//(0040,xxx1)
			{0x00402222,VR_UT,"UniversalID"},//(0040,xxx2)
			{0x00403333,VR_CS,"UniversalIDType"},//(0040,xxx3)
			{0x0040050A,VR_LO,"SpecimenAccessionNumber"},
			{0x00400550,VR_SQ,"SpecimenSequence"},
			{0x00400551,VR_LO,"SpecimenIdentifier"},
			{0x0040059A,VR_SQ,"SpecimenTypeCodeSequence"},
			{0x004006FA,VR_LO,"SlideIdentifier"},
			{0x00400500,VR_SQ,"ScheduledSpecimenSequence"},//(0040,x500)
			{0x00400512,VR_ST,"ContainerIdentifier"},//(0040,x512)
			{0x00400513,VR_SQ,"IssuerofContainerIdentifierSequence"},//(0040,x513)
			{0x00400515,VR_SQ,"AlternateContainerIdentifierSequence"},//(0040,x515)
			{0x00400518,VR_SQ,"ContainerTypeCodeSequence"},//(0040,x518)
			{0x0040051A,VR_LO,"ConatinerDescription"},//(0040,x51A)
			{0x00400520,VR_SQ,"ConatinerComponentSequence"},//(0040,x520)
			{0x00400550,VR_SQ,"SpecimenDescriptionSequence"},//(0040,x550)
			{0x00400552,VR_SQ,"IssuerofSpecimenIdentifierSequence"},//(0040,x552)
			{0x00400554,VR_UI,"SpecimenUID"},//(0040,x554)
			{0x00400600,VR_LO,"SpecimenShortDescription"},//(0040,x600)
			{0x00400602,VR_ST,"SpecimenDetailedDescription"},//(0040,x602)
			{0x00400610,VR_SQ,"SpecimenPreparationSequence"},//(0040,x610)
			{0x00400612,VR_SQ,"SpecimenPreparationStepContentItemSequence"},//(0040,x612)
			{0x00400620,VR_SQ,"SpecimenLocalizationContentItemSequence"},//(0040,x620)
			{0x00500012,VR_SQ,"ContainerComponentTypeCodeSequence"},//(0050,x012)
			{0x00500015,VR_DS,"ContainerComponentWidth"},//(0050,x015)
			{0x00500017,VR_DS,"ContainerComponentThickness"},//(0050,x017)
			{0x0050001A,VR_CS,"ContainerComponentMaterial"},//(0050,x01A)
			{0x0050001B,VR_ST,"ContainerComponentID"},//(0050,x01B)
			{0x0050001C,VR_DS,"ContainerComponentLength"},//(0050,x01C)
			{0x0050001D,VR_DS,"ContainerComponentDiameter"},//(0050,x01D)
			{0x0050001E,VR_LO,"ContainerComponentDescription"},//(0050,x01E)

			//Some GE private tag are defined here temporarily -Sam Shen
			{0x00450010,VR_LO,"GEPrivateTag"},
			{0x00451006,VR_DS,"GEPrivateTag"},
			{0x0045101B,VR_CS,"GEPrivateTag"},
			{0x00451020,VR_DS,"GEPrivateTag"},
			{0x00451026,VR_OB,"GEPrivateTag"},
			{0x00451029,VR_DS,"GEPrivateTag"},
			{0x0045102A,VR_IS,"GEPrivateTag"},
			{0x0045102B,VR_IS,"GEPrivateTag"},
			{0x00451050,VR_UI,"GEPrivateTag"},
			{0x00451051,VR_UI,"GEPrivateTag"},
			{0x00451071,VR_OB,"GEPrivateTag"},
			{0x00451072,VR_DS,"GEPrivateTag"},
			//END OF GE PRIVATE TAG

			{0x00500000,VR_UL,"GroupLength"},
			{0x00500004,VR_CS,"CalibrationImage"},
			{0x00500010,VR_SQ,"DeviceSequence"},
			{0x00500014,VR_DS,"DeviceLength"},
			{0x00500016,VR_DS,"DeviceDiameter"},
			{0x00500017,VR_CS,"DeviceDiameterUnits"},
			{0x00500018,VR_DS,"DeviceVolume"},
			{0x00500019,VR_DS,"Inter-markerDistance"},
			{0x00500020,VR_LO,"DeviceDescription"},
			{0x00540000,VR_UL,"GroupLength"},
			{0x00540010,VR_US,"EnergyWindowVector"},
			{0x00540011,VR_US,"NumberofEnergyWindows"},
			{0x00540012,VR_SQ,"EnergyWindowInformationSequence"},
			{0x00540013,VR_SQ,"EnergyWindowRangeSequence"},
			{0x00540014,VR_DS,"EnergyWindowLowerLimit"},
			{0x00540015,VR_DS,"EnergyWindowUpperLimit"},
			{0x00540016,VR_SQ,"RadiopharmaceuticalInformationSequence"},
			{0x00540017,VR_IS,"ResidualSyringeCounts"},
			{0x00540018,VR_SH,"EnergyWindowName"},
			{0x00540020,VR_US,"DetectorVector"},
			{0x00540021,VR_US,"NumberofDetectors"},
			{0x00540022,VR_SQ,"DetectorInformationSequence"},
			{0x00540030,VR_US,"PhaseVector"},
			{0x00540031,VR_US,"NumberofPhases"},
			{0x00540032,VR_SQ,"PhaseInformationSequence"},
			{0x00540033,VR_US,"NumberofFramesinPhase"},
			{0x00540036,VR_IS,"PhaseDelay"},
			{0x00540038,VR_IS,"PauseBetweenFrames"},
			{0x00540050,VR_US,"RotationVector"},
			{0x00540051,VR_US,"NumberofRotations"},
			{0x00540052,VR_SQ,"RotationInformationSequence"},
			{0x00540053,VR_US,"NumberofFramesinRotation"},
			{0x00540060,VR_US,"R-RIntervalVector"},
			{0x00540061,VR_US,"NumberofR-RIntervals"},
			{0x00540062,VR_SQ,"GatedInformationSequence"},
			{0x00540063,VR_SQ,"DataInformationSequence"},
			{0x00540070,VR_US,"TimeSlotVector"},
			{0x00540071,VR_US,"NumberofTimeSlots"},
			{0x00540072,VR_SQ,"TimeSlotInformationSequence"},
			{0x00540073,VR_DS,"TimeSlotTime"},
			{0x00540080,VR_US,"SliceVector"},
			{0x00540081,VR_US,"NumberofSlices"},
			{0x00540090,VR_US,"AngularViewVector"},
			{0x00540100,VR_US,"TimeSliceVector"},
			{0x00540101,VR_US,"NumberofTimeSlices"},
			{0x00540200,VR_DS,"StartAngle"},
			{0x00540202,VR_CS,"TypeofDetectorMotion"},
			{0x00540210,VR_IS,"TriggerVector"},
			{0x00540211,VR_US,"NumberofTriggersinPhase"},
			{0x00540220,VR_SQ,"ViewCodeSequence"},
			{0x00540222,VR_SQ,"ViewModifierCodeSequence"},
			{0x00540300,VR_SQ,"RadionuclideCodeSequence"},
			{0x00540302,VR_SQ,"AdministrationRouteCodeSequence"},
			{0x00540304,VR_SQ,"RadiopharmaceuticalCodeSequence"},
			{0x00540306,VR_SQ,"CalibrationDataSequence"},
			{0x00540308,VR_US,"EnergyWindowNumber"},
			{0x00540400,VR_SH,"ImageID"},
			{0x00540410,VR_SQ,"PatientOrientationCodeSequence"},
			{0x00540412,VR_SQ,"PatientOrientationModifierCodeSequence"},
			{0x00540414,VR_SQ,"PatientGantryRelationshipCodeSequence"},
			{0x00541000,VR_CS,"SeriesType"},
			{0x00541001,VR_CS,"Units"},
			{0x00541002,VR_CS,"CountsSource"},
			{0x00541004,VR_CS,"ReprojectionMethod"},
			{0x00541100,VR_CS,"RandomsCorrectionMethod"},
			{0x00541101,VR_LO,"AttenuationCorrectionMethod"},
			{0x00541102,VR_CS,"DecayCorrection"},
			{0x00541103,VR_LO,"ReconstructionMethod"},
			{0x00541104,VR_LO,"DetectorLinesofResponseUsed"},
			{0x00541105,VR_LO,"ScatterCorrectionMethod"},
			{0x00541200,VR_DS,"AxialAcceptance"},
			{0x00541201,VR_IS,"AxialMash"},
			{0x00541202,VR_IS,"TransverseMash"},
			{0x00541203,VR_DS,"DetectorElementSize"},
			{0x00541210,VR_DS,"CoincidenceWindowWidth"},
			{0x00541220,VR_CS,"SecondaryCountsType"},
			{0x00541300,VR_DS,"FrameReferenceTime"},
			{0x00541310,VR_IS,"Primary(Prompts)CountsAccumulated"},
			{0x00541311,VR_IS,"SecondaryCountsAccumulated"},
			{0x00541320,VR_DS,"SliceSensitivityFactor"},
			{0x00541321,VR_DS,"DecayFactor"},
			{0x00541322,VR_DS,"DoseCalibrationFactor"},
			{0x00541323,VR_DS,"ScatterFractionFactor"},
			{0x00541324,VR_DS,"DeadTimeFactor"},
			{0x00541330,VR_US,"ImageIndex"},
			{0x00541400,VR_CS,"CountsIncluded"},
			{0x00541401,VR_CS,"DeadTimeCorrectionFlag"},
			{0x00603000,VR_SQ,"HistogramSequence"},
			{0x00603002,VR_US,"HistogramNumberOfBins"},
			{0x00603004,VR_US,"HistogramFirstBinValue"},
			{0x00603006,VR_US,"HistogramLastBinValue"},
			{0x00603008,VR_US,"HistogramBinWidth"},
			{0x00603010,VR_LO,"HistogramExplanation"},
			{0x00603020,VR_UL,"HistogramData"},
			{TAG_GRAPHIC_DATA,VR_FL,"GraphicData"},
			{TAG_GRAPHIC_TYPE,VR_CS,"GraphicType"},
			{0x00880000,VR_UL,"GroupLength"},
			{0x00880130,VR_SH,"StorageMediaFile-setID"},
			{0x00880140,VR_UI,"StorageMediaFile-setUID"},
			{TAG_ICON_IMAGE_SEQ,VR_SQ,"IconImageSequence"},
			{TAG_TOPIC_TITLE,VR_LO,"TopicTitle"},
			{TAG_TOPIC_SUBJECT,VR_ST,"TopicSubject"},
			{TAG_TOPIC_AUTHOR,VR_LO,"TopicAuthor"},
			{TAG_TOPIC_KEYWORDS,VR_LO,"TopicKeyWords"},
			{0x20000000,VR_UL,"GroupLength"},
			{0x20000010,VR_IS,"NumberofCopies"},
			{0x20000020,VR_CS,"PrintPriority"},
			{0x20000030,VR_CS,"MediumType"},
			{0x20000040,VR_CS,"FilmDestination"},
			{TAG_FILM_SESSION_LABEL,VR_LO,"FilmSessionLabel"},
			{0x20000060,VR_IS,"MemoryAllocation"},
			{0x20000062,VR_CS,"ColorImagePrintingFlag"},
			{0x20000063,VR_CS,"CollationFlag"},
			{0x20000065,VR_CS,"AnnotationFlag"},
			{0x20000067,VR_CS,"ImageOverlayFlag"},
			{0x20000069,VR_CS,"PresentationLUTFlag"},
			{0x2000006A,VR_CS,"ImageBoxPresentationLUTFlag"},
			{0x20000500,VR_SQ,"ReferencedFilmBoxSequence"},
			{0x20000510,VR_SQ,"ReferencedStoredPrintSequence"},
			{0x20100000,VR_UL,"GroupLength"},
			{0x20100010,VR_ST,"ImageDisplayFormat"},
			{0x20100030,VR_CS,"AnnotationDisplayFormatID"},
			{0x20100040,VR_CS,"FilmOrientation"},
			{0x20100050,VR_CS,"FilmSizeID"},
			{0x20100060,VR_CS,"MagnificationType"},
			{0x20100080,VR_CS,"SmoothingType"},
			{0x20100100,VR_CS,"BorderDensity"},
			{0x20100110,VR_CS,"EmptyImageDensity"},
			{0x20100120,VR_US,"MinDensity"},
			{0x20100130,VR_US,"MaxDensity"},
			{0x20100140,VR_CS,"Trim"},
			{0x20100150,VR_ST,"ConfigurationInformation"},
			{0x2010015E,VR_US,"Illumination"},
			{0x20100160,VR_US,"ReflectedAmbientLight"},
			{0x20100500,VR_SQ,"ReferencedFilmSessionSequence"},
			{0x20100510,VR_SQ,"ReferencedImageBoxSequence"},
			{0x20100520,VR_SQ,"ReferencedBasicAnnotationBoxSequence"},
			{0x20200000,VR_UL,"GroupLength"},
			{TAG_IMAGE_POS,VR_US,"ImagePosition"},
			{0x20200020,VR_CS,"Polarity"},
			{0x20200030,VR_DS,"RequestedImageSize"},
			{0x20200110,VR_SQ,"BasicGrayscaleImageSequence"},
			{0x20200111,VR_SQ,"BasicColorImageSequence"},
			{0x20200130,VR_SQ,"ReferencedImageOverlayBoxSequence"},
			{0x20200140,VR_SQ,"ReferencedVOILUTBoxSequence"},
			{0x20300000,VR_UL,"GroupLength"},
			{0x20300010,VR_US,"AnnotationPosition"},
			{0x20300020,VR_LO,"TextString"},
			{0x20400000,VR_UL,"GroupLength"},
			{0x20400010,VR_SQ,"ReferencedOverlayPlaneSequence"},
			{0x20400011,VR_US,"ReferencedOverlayPlaneGroups"},
			{0x20400060,VR_CS,"OverlayMagnificationType"},
			{0x20400070,VR_CS,"OverlaySmoothingType"},
			{0x20400080,VR_CS,"OverlayForegroundDensity"},
			{0x20400090,VR_CS,"OverlayMode"},
			{0x20400100,VR_CS,"ThresholdDensity"},
			{0x20500010,VR_SQ,"PresentationLUTSequence"},
			{0x20500020,VR_CS,"PresentationLUTShape"},
			{0x20500500,VR_SQ,"ReferencedPresentationLUTSequence"},
			{0x21000000,VR_UL,"GroupLength"},
			{0x21000010,VR_SH,"PrintJobID"},
			{TAG_EXECUTION_STATUS,VR_CS,"ExecutionStatus"},
			{0x21000030,VR_CS,"ExecutionStatusInfo"},
			{0x21000040,VR_DA,"CreationDate"},
			{0x21000050,VR_TM,"CreationTime"},
			{0x21000070,VR_AE,"Originator"},
			{0x21000140,VR_AE,"DestinationAE"},
			{0x21000160,VR_SH,"OwnerID"},
			{0x21000170,VR_IS,"NumberofFilms"},
			{0x21000500,VR_SQ,"ReferencedPrintJobSequence"},
			{0x21100000,VR_UL,"GroupLength"},
			{0x21100010,VR_CS,"PrinterStatus"},
			{0x21100020,VR_CS,"PrinterStatusInfo"},
			{TAG_PRINTER_NAME,VR_LO,"PrinterName"},
			{TAG_PRINT_QUEUE_ID,VR_SH,"PrintQueueID"},
			{0x21200010,VR_CS,"QueueStatus"},
			{0x21200050,VR_SQ,"PrintJobDescriptionSequence"},
			{0x21200070,VR_SQ,"ReferencedPrintJobSequence"},
			{0x21300010,VR_SQ,"PrintManagementCapabilitiesSequence"},
			{0x21300015,VR_SQ,"PrinterCharacteristicsSequence"},
			{0x21300030,VR_SQ,"FilmBoxContentSequence"},
			{0x21300040,VR_SQ,"ImageBoxContentSequence"},
			{0x21300050,VR_SQ,"AnnotationContentSequence"},
			{0x21300060,VR_SQ,"ImageOverlayBoxContentSequence"},
			{0x21300080,VR_SQ,"PresentationLUTContentSequence"},
			{0x213000A0,VR_SQ,"ProposedStudySequence"},
			{0x213000C0,VR_SQ,"OriginalImageSequence"},
			{0x30020002,VR_SH,"RTImageLabel"},
			{0x30020003,VR_LO,"RTImageName"},
			{0x30020004,VR_ST,"RTImageDescription"},
			{0x3002000A,VR_CS,"ReportedValuesOrigin"},
			{0x3002000C,VR_CS,"RTImagePlane"},
			{0x3002000E,VR_DS,"X-RayImageReceptorAngle"},
			{0x30020010,VR_DS,"RTImageOrientation"},
			{0x30020011,VR_DS,"ImagePlanePixelSpacing"},
			{0x30020012,VR_DS,"RTImagePosition"},
			{0x30020020,VR_SH,"RadiationMachineName"},
			{0x30020022,VR_DS,"RadiationMachineSAD"},
			{0x30020024,VR_DS,"RadiationMachineSSD"},
			{0x30020026,VR_DS,"RTImageSID"},
			{0x30020028,VR_DS,"SourcetoReferenceObjectDistance"},
			{0x30020029,VR_IS,"FractionNumber"},
			{0x30020030,VR_SQ,"ExposureSequence"},
			{0x30020032,VR_DS,"MetersetExposure"},
			{0x30040001,VR_CS,"DVHType"},
			{0x30040002,VR_CS,"DoseUnits"},
			{0x30040004,VR_CS,"DoseType"},
			{0x30040006,VR_LO,"DoseComment"},
			{0x30040008,VR_DS,"NormalizationPoint"},
			{0x3004000A,VR_CS,"DoseSummationType"},
			{0x3004000C,VR_DS,"GridFrameOffsetVector"},
			{0x3004000E,VR_DS,"DoseGridScaling"},
			{0x30040010,VR_SQ,"RTDoseROISequence"},
			{0x30040012,VR_DS,"DoseValue"},
			{0x30040040,VR_DS,"DVHNormalizationPoint"},
			{0x30040042,VR_DS,"DVHNormalizationDoseValue"},
			{0x30040050,VR_SQ,"DVHSequence"},
			{0x30040052,VR_DS,"DVHDoseScaling"},
			{0x30040054,VR_CS,"DVHVolumeUnits"},
			{0x30040056,VR_IS,"DVHNumberofBins"},
			{0x30040058,VR_DS,"DVHData"},
			{0x30040060,VR_SQ,"DVHReferencedROISequence"},
			{0x30040062,VR_CS,"DVHROIContributionType"},
			{0x30040070,VR_DS,"DVHMinimumDose"},
			{0x30040072,VR_DS,"DVHMaximumDose"},
			{0x30040074,VR_DS,"DVHMeanDose"},
			{0x30060002,VR_SH,"StructureSetLabel"},
			{0x30060004,VR_LO,"StructureSetName"},
			{0x30060006,VR_ST,"StructureSetDescription"},
			{0x30060008,VR_DA,"StructureSetDate"},
			{0x30060009,VR_TM,"StructureSetTime"},
			{0x30060010,VR_SQ,"ReferencedFrameofReferenceSequence"},
			{0x30060012,VR_SQ,"RTReferencedStudySequence"},
			{0x30060014,VR_SQ,"RTReferencedSeriesSequence"},
			{0x30060016,VR_SQ,"ContourImageSequence"},
			{0x30060020,VR_SQ,"StructureSetROISequence"},
			{0x30060022,VR_IS,"ROINumber"},
			{0x30060024,VR_UI,"ReferencedFrameofReferenceUID"},
			{0x30060026,VR_LO,"ROIName"},
			{0x30060028,VR_ST,"ROIDescription"},
			{0x3006002A,VR_IS,"ROIDisplayColor"},
			{0x3006002C,VR_DS,"ROIVolume"},
			{0x30060030,VR_SQ,"RTRelatedROISequence"},
			{0x30060033,VR_CS,"RTROIRelationship"},
			{0x30060036,VR_CS,"ROIGenerationAlgorithm"},
			{0x30060038,VR_LO,"ROIGenerationDescription"},
			{0x30060039,VR_SQ,"ROIContourSequence"},
			{0x30060040,VR_SQ,"ContourSequence"},
			{0x30060042,VR_CS,"ContourGeometricType"},
			{0x30060044,VR_DS,"ContourSlabThickness"},
			{0x30060045,VR_DS,"ContourOffsetVector"},
			{0x30060046,VR_IS,"NumberofContourPoints"},
			{0x30060050,VR_DS,"ContourData"},
			{0x30060080,VR_SQ,"RTROIObservationsSequence"},
			{0x30060082,VR_IS,"ObservationNumber"},
			{0x30060084,VR_IS,"ReferencedROINumber"},
			{0x30060085,VR_SH,"ROIObservationLabel"},
			{0x30060086,VR_SQ,"RTROIIdentificationCodeSequence"},
			{0x30060088,VR_ST,"ROIObservationDescription"},
			{0x300600A0,VR_SQ,"RelatedRTROIObservationsSequence"},
			{0x300600A4,VR_CS,"RTROIInterpretedType"},
			{0x300600A6,VR_PN,"ROIInterpreter"},
			{0x300600B0,VR_SQ,"ROIPhysicalPropertiesSequence"},
			{0x300600B2,VR_CS,"ROIPhysicalProperty"},
			{0x300600B4,VR_DS,"ROIPhysicalPropertyValue"},
			{0x300600C0,VR_SQ,"FrameofReferenceRelationshipSequence"},
			{0x300600C2,VR_UI,"RelatedFrameofReferenceUID"},
			{0x300600C4,VR_CS,"FrameofReferenceTransformationType"},
			{0x300600C6,VR_DS,"FrameofReferenceTransformationMatrix"},
			{0x300600C8,VR_LO,"FrameofReferenceTransformationComment"},
			{0x300A0002,VR_SH,"RTPlanLabel"},
			{0x300A0003,VR_LO,"RTPlanName"},
			{0x300A0004,VR_ST,"RTPlanDescription"},
			{0x300A0006,VR_DA,"RTPlanDate"},
			{0x300A0007,VR_TM,"RTPlanTime"},
			{0x300A0009,VR_LO,"TreatmentProtocols"},
			{0x300A000A,VR_CS,"TreatmentIntent"},
			{0x300A000B,VR_LO,"TreatmentSites"},
			{0x300A000C,VR_CS,"RTPlanGeometry"},
			{0x300A000E,VR_ST,"PrescriptionDescription"},
			{0x300A0010,VR_SQ,"DoseReferenceSequence"},
			{0x300A0012,VR_IS,"DoseReferenceNumber"},
			{0x300A0014,VR_CS,"DoseReferenceStructureType"},
			{0x300A0016,VR_LO,"DoseReferenceDescription"},
			{0x300A0018,VR_DS,"DoseReferencePointCoordinates"},
			{0x300A001A,VR_DS,"NominalPriorDose"},
			{0x300A0020,VR_CS,"DoseReferenceType"},
			{0x300A0021,VR_DS,"ConstraintWeight"},
			{0x300A0022,VR_DS,"DeliveryWarningDose"},
			{0x300A0023,VR_DS,"DeliveryMaximumDose"},
			{0x300A0025,VR_DS,"TargetMinimumDose"},
			{0x300A0026,VR_DS,"TargetPrescriptionDose"},
			{0x300A0027,VR_DS,"TargetMaximumDose"},
			{0x300A0028,VR_DS,"TargetUnderdoseVolumeFraction"},
			{0x300A002A,VR_DS,"OrganatRiskFull-volumeDose"},
			{0x300A002B,VR_DS,"OrganatRiskLimitDose"},
			{0x300A002C,VR_DS,"OrganatRiskMaximumDose"},
			{0x300A002D,VR_DS,"OrganatRiskOverdoseVolumeFraction"},
			{0x300A0040,VR_SQ,"ToleranceTableSequence"},
			{0x300A0042,VR_IS,"ToleranceTableNumber"},
			{0x300A0043,VR_SH,"ToleranceTableLabel"},
			{0x300A0044,VR_DS,"GantryAngleTolerance"},
			{0x300A0046,VR_DS,"BeamLimitingDeviceAngleTolerance"},
			{0x300A0048,VR_SQ,"BeamLimitingDeviceToleranceSequence"},
			{0x300A004A,VR_DS,"BeamLimitingDevicePositionTolerance"},
			{0x300A004C,VR_DS,"PatientSupportAngleTolerance"},
			{0x300A004E,VR_DS,"TableTopEccentricAngleTolerance"},
			{0x300A0051,VR_DS,"TableTopVerticalPositionTolerance"},
			{0x300A0052,VR_DS,"TableTopLongitudinalPositionTolerance"},
			{0x300A0053,VR_DS,"TableTopLateralPositionTolerance"},
			{0x300A0055,VR_CS,"RTPlanRelationship"},
			{0x300A0070,VR_SQ,"FractionGroupSequence"},
			{0x300A0071,VR_IS,"FractionGroupNumber"},
			{0x300A0078,VR_IS,"NumberofFractionsPlanned"},
			{0x300A0079,VR_IS,"NumberofFractionsPerDay"},
			{0x300A007A,VR_IS,"RepeatFractionCycleLength"},
			{0x300A007B,VR_LT,"FractionPattern"},
			{0x300A0080,VR_IS,"NumberofBeams"},
			{0x300A0082,VR_DS,"BeamDoseSpecificationPoint"},
			{0x300A0084,VR_DS,"BeamDose"},
			{0x300A0086,VR_DS,"BeamMeterset"},
			{0x300A00A0,VR_IS,"NumberofBrachyApplicationSetups"},
			{0x300A00A2,VR_DS,"BrachyApplicationSetupDoseSpecificationPoint"},
			{0x300A00A4,VR_DS,"BrachyApplicationSetupDose"},
			{0x300A00B0,VR_SQ,"BeamSequence"},
			{0x300A00B2,VR_SH,"TreatmentMachineName"},
			{0x300A00B3,VR_CS,"PrimaryDosimeterUnit"},
			{0x300A00B4,VR_DS,"Source-AxisDistance"},
			{0x300A00B6,VR_SQ,"BeamLimitingDeviceSequence"},
			{0x300A00B8,VR_CS,"RTBeamLimitingDeviceType"},
			{0x300A00BA,VR_DS,"SourcetoBeamLimitingDeviceDistance"},
			{0x300A00BC,VR_IS,"NumberofLeaf/JawPairs"},
			{0x300A00BE,VR_DS,"LeafPositionBoundaries"},
			{0x300A00C0,VR_IS,"BeamNumber"},
			{0x300A00C2,VR_LO,"BeamName"},
			{0x300A00C3,VR_ST,"BeamDescription"},
			{0x300A00C4,VR_CS,"BeamType"},
			{0x300A00C6,VR_CS,"RadiationType"},
			{0x300A00C8,VR_IS,"ReferenceImageNumber"},
			{0x300A00CA,VR_SQ,"PlannedVerificationImageSequence"},
			{0x300A00CC,VR_LO,"ImagingDevice-SpecificAcquisitionParameters"},
			{0x300A00CE,VR_CS,"TreatmentDeliveryType"},
			{0x300A00D0,VR_IS,"NumberofWedges"},
			{0x300A00D1,VR_SQ,"WedgeSequence"},
			{0x300A00D2,VR_IS,"WedgeNumber"},
			{0x300A00D3,VR_CS,"WedgeType"},
			{0x300A00D4,VR_SH,"WedgeID"},
			{0x300A00D5,VR_IS,"WedgeAngle"},
			{0x300A00D6,VR_DS,"WedgeFactor"},
			{0x300A00D8,VR_DS,"WedgeOrientation"},
			{0x300A00DA,VR_DS,"SourcetoWedgeTrayDistance"},
			{0x300A00E0,VR_IS,"NumberofCompensators"},
			{0x300A00E1,VR_SH,"MaterialID"},
			{0x300A00E2,VR_DS,"TotalCompensatorTrayFactor"},
			{0x300A00E3,VR_SQ,"CompensatorSequence"},
			{0x300A00E4,VR_IS,"CompensatorNumber"},
			{0x300A00E5,VR_SH,"CompensatorID"},
			{0x300A00E6,VR_DS,"SourcetoCompensatorTrayDistance"},
			{0x300A00E7,VR_IS,"CompensatorRows"},
			{0x300A00E8,VR_IS,"CompensatorColumns"},
			{0x300A00E9,VR_DS,"CompensatorPixelSpacing"},
			{0x300A00EA,VR_DS,"CompensatorPosition"},
			{0x300A00EB,VR_DS,"CompensatorTransmissionData"},
			{0x300A00EC,VR_DS,"CompensatorThicknessData"},
			{0x300A00ED,VR_IS,"NumberofBoli"},
			{0x300A00F0,VR_IS,"NumberofBlocks"},
			{0x300A00F2,VR_DS,"TotalBlockTrayFactor"},
			{0x300A00F4,VR_SQ,"BlockSequence"},
			{0x300A00F5,VR_SH,"BlockTrayID"},
			{0x300A00F6,VR_DS,"SourcetoBlockTrayDistance"},
			{0x300A00F8,VR_CS,"BlockType"},
			{0x300A00FA,VR_CS,"BlockDivergence"},
			{0x300A00FC,VR_IS,"BlockNumber"},
			{0x300A00FE,VR_LO,"BlockName"},
			{0x300A0100,VR_DS,"BlockThickness"},
			{0x300A0102,VR_DS,"BlockTransmission"},
			{0x300A0104,VR_IS,"BlockNumberofPoints"},
			{0x300A0106,VR_DS,"BlockData"},
			{0x300A0107,VR_SQ,"ApplicatorSequence"},
			{0x300A0108,VR_SH,"ApplicatorID"},
			{0x300A0109,VR_CS,"ApplicatorType"},
			{0x300A010A,VR_LO,"ApplicatorDescription"},
			{0x300A010C,VR_DS,"CumulativeDoseReferenceCoefficient"},
			{0x300A010E,VR_DS,"FinalCumulativeMetersetWeight"},
			{0x300A0110,VR_IS,"NumberofControlPoints"},
			{0x300A0111,VR_SQ,"ControlPointSequence"},
			{0x300A0112,VR_IS,"ControlPointIndex"},
			{0x300A0114,VR_DS,"NominalBeamEnergy"},
			{0x300A0115,VR_DS,"DoseRateSet"},
			{0x300A0116,VR_SQ,"WedgePositionSequence"},
			{0x300A0118,VR_CS,"WedgePosition"},
			{0x300A011A,VR_SQ,"BeamLimitingDevicePositionSequence"},
			{0x300A011C,VR_DS,"Leaf/JawPositions"},
			{0x300A011E,VR_DS,"GantryAngle"},
			{0x300A011F,VR_CS,"GantryRotationDirection"},
			{0x300A0120,VR_DS,"BeamLimitingDeviceAngle"},
			{0x300A0121,VR_CS,"BeamLimitingDeviceRotationDirection"},
			{0x300A0122,VR_DS,"PatientSupportAngle"},
			{0x300A0123,VR_CS,"PatientSupportRotationDirection"},
			{0x300A0124,VR_DS,"TableTopEccentricAxisDistance"},
			{0x300A0125,VR_DS,"TableTopEccentricAngle"},
			{0x300A0126,VR_CS,"TableTopEccentricRotationDirection"},
			{0x300A0128,VR_DS,"TableTopVerticalPosition"},
			{0x300A0129,VR_DS,"TableTopLongitudinalPosition"},
			{0x300A012A,VR_DS,"TableTopLateralPosition"},
			{0x300A012C,VR_DS,"IsocenterPosition"},
			{0x300A012E,VR_DS,"SurfaceEntryPoint"},
			{0x300A0130,VR_DS,"SourcetoSurfaceDistance"},
			{0x300A0134,VR_DS,"CumulativeMetersetWeight"},
			{0x300A0180,VR_SQ,"PatientSetupSequence"},
			{0x300A0182,VR_IS,"PatientSetupNumber"},
			{0x300A0184,VR_LO,"PatientAdditionalPosition"},
			{0x300A0190,VR_SQ,"FixationDeviceSequence"},
			{0x300A0192,VR_CS,"FixationDeviceType"},
			{0x300A0194,VR_SH,"FixationDeviceLabel"},
			{0x300A0196,VR_ST,"FixationDeviceDescription"},
			{0x300A0198,VR_SH,"FixationDevicePosition"},
			{0x300A01A0,VR_SQ,"ShieldingDeviceSequence"},
			{0x300A01A2,VR_CS,"ShieldingDeviceType"},
			{0x300A01A4,VR_SH,"ShieldingDeviceLabel"},
			{0x300A01A6,VR_ST,"ShieldingDeviceDescription"},
			{0x300A01A8,VR_SH,"ShieldingDevicePosition"},
			{0x300A01B0,VR_CS,"SetupTechnique"},
			{0x300A01B2,VR_ST,"SetupTechniqueDescription"},
			{0x300A01B4,VR_SQ,"SetupDeviceSequence"},
			{0x300A01B6,VR_CS,"SetupDeviceType"},
			{0x300A01B8,VR_SH,"SetupDeviceLabel"},
			{0x300A01BA,VR_ST,"SetupDeviceDescription"},
			{0x300A01BC,VR_DS,"SetupDeviceParameter"},
			{0x300A01D0,VR_ST,"SetupReferenceDescription"},
			{0x300A01D2,VR_DS,"TableTopVerticalSetupDisplacement"},
			{0x300A01D4,VR_DS,"TableTopLongitudinalSetupDisplacement"},
			{0x300A01D6,VR_DS,"TableTopLateralSetupDisplacement"},
			{0x300A0200,VR_CS,"BrachyTreatmentTechnique"},
			{0x300A0202,VR_CS,"BrachyTreatmentType"},
			{0x300A0206,VR_SQ,"TreatmentMachineSequence"},
			{0x300A0210,VR_SQ,"SourceSequence"},
			{0x300A0212,VR_IS,"SourceNumber"},
			{0x300A0214,VR_CS,"SourceType"},
			{0x300A0216,VR_LO,"SourceManufacturer"},
			{0x300A0218,VR_DS,"ActiveSourceDiameter"},
			{0x300A021A,VR_DS,"ActiveSourceLength"},
			{0x300A0222,VR_DS,"SourceEncapsulationNominalThickness"},
			{0x300A0224,VR_DS,"SourceEncapsulationNominalTransmission"},
			{0x300A0226,VR_LO,"SourceIsotopeName"},
			{0x300A0228,VR_DS,"SourceIsotopeHalfLife"},
			{0x300A022A,VR_DS,"ReferenceAirKermaRate"},
			{0x300A022C,VR_DA,"AirKermaRateReferenceDate"},
			{0x300A022E,VR_TM,"AirKermaRateReferenceTime"},
			{0x300A0230,VR_SQ,"ApplicationSetupSequence"},
			{0x300A0232,VR_CS,"ApplicationSetupType"},
			{0x300A0234,VR_IS,"ApplicationSetupNumber"},
			{0x300A0236,VR_LO,"ApplicationSetupName"},
			{0x300A0238,VR_LO,"ApplicationSetupManufacturer"},
			{0x300A0240,VR_IS,"TemplateNumber"},
			{0x300A0242,VR_SH,"TemplateType"},
			{0x300A0244,VR_LO,"TemplateName"},
			{0x300A0250,VR_DS,"TotalReferenceAirKerma"},
			{0x300A0260,VR_SQ,"BrachyAccessoryDeviceSequence"},
			{0x300A0262,VR_IS,"BrachyAccessoryDeviceNumber"},
			{0x300A0263,VR_SH,"BrachyAccessoryDeviceID"},
			{0x300A0264,VR_CS,"BrachyAccessoryDeviceType"},
			{0x300A0266,VR_LO,"BrachyAccessoryDeviceName"},
			{0x300A026A,VR_DS,"BrachyAccessoryDeviceNominalThickness"},
			{0x300A026C,VR_DS,"BrachyAccessoryDeviceNominalTransmission"},
			{0x300A0280,VR_SQ,"ChannelSequence"},
			{0x300A0282,VR_IS,"ChannelNumber"},
			{0x300A0284,VR_DS,"ChannelLength"},
			{0x300A0286,VR_DS,"ChannelTotalTime"},
			{0x300A0288,VR_CS,"SourceMovementType"},
			{0x300A028A,VR_IS,"NumberofPulses"},
			{0x300A028C,VR_DS,"PulseRepetitionInterval"},
			{0x300A0290,VR_IS,"SourceApplicatorNumber"},
			{0x300A0291,VR_SH,"SourceApplicatorID"},
			{0x300A0292,VR_CS,"SourceApplicatorType"},
			{0x300A0294,VR_LO,"SourceApplicatorName"},
			{0x300A0296,VR_DS,"SourceApplicatorLength"},
			{0x300A0298,VR_LO,"SourceApplicatorManufacturer"},
			{0x300A029C,VR_DS,"SourceApplicatorWallNominalThickness"},
			{0x300A029E,VR_DS,"SourceApplicatorWallNominalTransmission"},
			{0x300A02A0,VR_DS,"SourceApplicatorStepSize"},
			{0x300A02A2,VR_IS,"TransferTubeNumber"},
			{0x300A02A4,VR_DS,"TransferTubeLength"},
			{0x300A02B0,VR_SQ,"ChannelShieldSequence"},
			{0x300A02B2,VR_IS,"ChannelShieldNumber"},
			{0x300A02B3,VR_SH,"ChannelShieldID"},
			{0x300A02B4,VR_LO,"ChannelShieldName"},
			{0x300A02B8,VR_DS,"ChannelShieldNominalThickness"},
			{0x300A02BA,VR_DS,"ChannelShieldNominalTransmission"},
			{0x300A02C8,VR_DS,"FinalCumulativeTimeWeight"},
			{0x300A02D0,VR_SQ,"BrachyControlPointSequence"},
			{0x300A02D2,VR_DS,"ControlPointRelativePosition"},
			{0x300A02D4,VR_DS,"ControlPoint3DPosition"},
			{0x300A02D6,VR_DS,"CumulativeTimeWeight"},
			{0x300C0002,VR_SQ,"ReferencedRTPlanSequence"},
			{0x300C0004,VR_SQ,"ReferencedBeamSequence"},
			{0x300C0006,VR_IS,"ReferencedBeamNumber"},
			{0x300C0007,VR_IS,"ReferencedReferenceImageNumber"},
			{0x300C0008,VR_DS,"StartCumulativeMetersetWeight"},
			{0x300C0009,VR_DS,"EndCumulativeMetersetWeight"},
			{0x300C000A,VR_SQ,"ReferencedBrachyApplicationSetupSequence"},
			{0x300C000C,VR_IS,"ReferencedBrachyApplicationSetupNumber"},
			{0x300C000E,VR_IS,"ReferencedSourceNumber"},
			{0x300C0020,VR_SQ,"ReferencedFractionGroupSequence"},
			{0x300C0022,VR_IS,"ReferencedFractionGroupNumber"},
			{0x300C0040,VR_SQ,"ReferencedVerificationImageSequence"},
			{0x300C0042,VR_SQ,"ReferencedReferenceImageSequence"},
			{0x300C0050,VR_SQ,"ReferencedDoseReferenceSequence"},
			{0x300C0051,VR_IS,"ReferencedDoseReferenceNumber"},
			{0x300C0055,VR_SQ,"BrachyReferencedDoseReferenceSequence"},
			{0x300C0060,VR_SQ,"ReferencedStructureSetSequence"},
			{0x300C006A,VR_IS,"ReferencedPatientSetupNumber"},
			{0x300C0080,VR_SQ,"ReferencedDoseSequence"},
			{0x300C00A0,VR_IS,"ReferencedToleranceTableNumber"},
			{0x300C00B0,VR_SQ,"ReferencedBolusSequence"},
			{0x300C00C0,VR_IS,"ReferencedWedgeNumber"},
			{0x300C00D0,VR_IS,"ReferencedCompensatorNumber"},
			{0x300C00E0,VR_IS,"ReferencedBlockNumber"},
			{0x300C00F0,VR_IS,"ReferencedControlPointIndex"},
			{0x300E0002,VR_CS,"ApprovalStatus"},
			{0x300E0004,VR_DA,"ReviewDate"},
			{0x300E0005,VR_TM,"ReviewTime"},
			{0x300E0008,VR_PN,"ReviewerName"},
			{0x40080000,VR_UL,"GroupLength"},
			{TAG_RESULT_ID,VR_SH,"ResultsID"},
			{0x40080042,VR_LO,"ResultsIDIssuer"},
			{0x40080050,VR_SQ,"ReferencedInterpretationSequence"},
			{0x40080100,VR_DA,"InterpretationRecordedDate"},
			{0x40080101,VR_TM,"InterpretationRecordedTime"},
			{0x40080102,VR_PN,"InterpretationRecorder"},
			{0x40080103,VR_LO,"ReferencetoRecordedSound"},
			{TAG_INTERPRET_TRANS_DATE,VR_DA,"InterpretationTranscriptionDate"},
			{0x40080109,VR_TM,"InterpretationTranscriptionTime"},
			{0x4008010A,VR_PN,"InterpretationTranscriber"},
			{0x4008010B,VR_ST,"InterpretationText"},
			{TAG_INTERPRET_AUTHOR,VR_PN,"InterpretationAuthor"},
			{0x40080111,VR_SQ,"InterpretationApproverSequence"},
			{0x40080112,VR_DA,"InterpretationApprovalDate"},
			{0x40080113,VR_TM,"InterpretationApprovalTime"},
			{0x40080114,VR_PN,"PhysicianApprovingInterpretation"},
			{TAG_INTERPRET_DIAG_DESC,VR_LT,"InterpretationDiagnosisDescription"},
			{TAG_INTERPRET_DIAG_CODE_SEQ,VR_SQ,"InterpretationDiagnosisCodeSequence"},
			{0x40080118,VR_SQ,"ResultsDistributionListSequence"},
			{0x40080119,VR_PN,"DistributionName"},
			{0x4008011A,VR_LO,"DistributionAddress"},
			{TAG_INTERPRET_ID,VR_SH,"InterpretationID"},
			{0x40080202,VR_LO,"InterpretationIDIssuer"},
			{TAG_INTERPRET_TYPE_ID,VR_CS,"InterpretationTypeID"},
			{TAG_INTERPRET_STATUS_ID,VR_CS,"InterpretationStatusID"},
			{0x40080300,VR_ST,"Impressions"},
			{0x40084000,VR_ST,"ResultsComments"},
			{0x7FE00000,VR_UL,"GroupLength"},

			//note that the following is dependant on the transfer syntax.
			//See Part 5, Annex A

			//{TAG_PIXEL_DATA,VR_OB,"PixelDataOW"},
			{TAG_PIXEL_DATA,VR_OW,"PixelData"},


			{TAG_DATA_SET_PADDING,VR_OB,"DataSetTrailingPadding"},




			{0x50000000,VR_UL,"GroupLength"},
			{0x50000005,VR_US,"CurveDimensions"},
			{0x50000010,VR_US,"NumberofPoints"},
			{0x50000020,VR_CS,"TypeofData"},
			{0x50000022,VR_LO,"CurveDescription"},
			{0x50000030,VR_SH,"AxisUnits"},
			{0x50000040,VR_SH,"AxisLabels"},
			{0x50000103,VR_US,"DataValueRepresentation"},
			{0x50000104,VR_US,"MinimumCoordinateValue"},
			{0x50000105,VR_US,"MaximumCoordinateValue"},
			{0x50000106,VR_SH,"CurveRange"},
			{0x50000110,VR_US,"CurveDataDescriptor"},
			{0x50000112,VR_US,"CoordinateStartValue"},
			{0x50000114,VR_US,"CoordinateStepValue"},
			{0x50002000,VR_US,"AudioType"},
			{0x50002002,VR_US,"AudioSampleFormat"},
			{0x50002004,VR_US,"NumberofChannels"},
			{0x50002006,VR_UL,"NumberofSamples"},
			{0x50002008,VR_UL,"SampleRate"},
			{0x5000200A,VR_UL,"TotalTime"},
			{0x5000200C,VR_OW,"AudioSampleData"},
			{0x5000200E,VR_LT,"AudioComments"},
			{0x50002500,VR_LO,"CurveLabel"},
			{0x50002600,VR_SQ,"ReferencedOverlaySequence"},
			{0x50002610,VR_US,"ReferencedOverlayGroup"},

			//changed by morgan@sten.sunnybrook.utoronto.ca
			//{0x50003000,VR_OB,"CurveDataOW"}
			{0x50003000,VR_OW,"CurveDataOW"},


			{0x60000000,VR_UL,"GroupLength"},
			{0x60000010,VR_US,"OverlayRows"},
			{0x60000011,VR_US,"OverlayColumns"},
			{0x60000012,VR_US,"OverlayPlanes"},
			{0x60000015,VR_IS,"NumberofFramesinOverlay"},
			{0x60000022,VR_LO,"OverlayDescription"},
			{0x60000040,VR_CS,"OverlayType"},
			{0x60000045,VR_LO,"OverlaySubtype"},
			{0x60000050,VR_SS,"OverlayOrigin"},
			{0x60000051,VR_US,"ImageFrameOrigin"},
			{0x60000052,VR_US,"OverlayPlaneOrigin"},
			{0x60000100,VR_US,"OverlayBitsAllocated"},
			{0x60000102,VR_US,"OverlayBitPosition"},
			{TAG_ROI_AREA,VR_IS,"ROIArea"},//0x60001301
			{TAG_ROI_MEAN,VR_DS,"ROIMean"},//0x60001302
			{TAG_ROI_STDDEV,VR_DS,"ROIStandardDeviation"},//0x60001303
			{0x60001500,VR_LO,"OverlayLabel"},
			{0x60003000,VR_OW,"OverlayData"}
		};


		typedef std::pair<VR, std::string> Item;


		std::pair<Tag,Item>
		MakeValueType(const DictionaryEntry& entry)
		{
			return std::pair<Tag,Item>(Tag(entry.tag), Item(entry.vr,entry.name));
		}

		//!Maintains a mapping between Tags, VRs and human-readable names.
		/*!
			One static instance of this class exists, and is
			used to look up VRs and names associated with tags.

			Part 6 of the standard describes this.
		*/
		struct DataDictionary : std::map<Tag,Item>
		{
			DataDictionary()
			{	
				std::transform(	DICT_ENTRIES,
								DICT_ENTRIES+sizeof(DICT_ENTRIES)/sizeof(DictionaryEntry),
								std::inserter(*this, begin()),
								MakeValueType);
			}

			VR GetVR(Tag tag)
			{
				iterator I = find(tag);
				if(I==end())
					return VR_UN;
				return I->second.first;
			}
			std::string GetName(Tag tag)
			{
				iterator I = find(tag);
				if(I==end())
				{
					std::ostringstream os;
					os << "(" << GroupTag(tag) << "," << ElementTag(tag) << ")";
					return os.str();
				}
				return I->second.second;
			}
			std::string GetTagString(Tag tag) //added by Sam Shen
			{
				std::ostringstream os;
				os << "(" << boost::format("%1$04.0X")  %GroupTag(tag) << "," << boost::format("%1$04.0X")  %ElementTag(tag) << ")";
				//understanding boost::format: %1 - arg 1, $0 - fill with '0', 4 - 4 letter length, .0 - decimal point, X - hexadecimal
				return os.str();
			}
		};


		//!The one and only DataDictionary
		/*!
			Are there any thread safety issues here?  I think we're safe,
			cause the only time we _write_ to this object is during
			application startup, i.e. before main().
		*/
		DataDictionary TheDataDictionary;


	}//anonymous namespace


	/*!
	Some extra logic may be needed here to ensure that we comply
	with Part 5, Annex A.  For now, we'll assume that we're always
	using Little Endian/Implicit VR.
	*/
	VR GetVR(Tag tag)
	{
		return TheDataDictionary.GetVR(tag);
	}

	std::string GetName(Tag tag)
	{
		return TheDataDictionary.GetName(tag);
	}

	std::string GetTagString(Tag tag)
	{
		return TheDataDictionary.GetTagString(tag);
	}


	/*!
		Note that this is NOT thread safe, so make sure you provide appropriate locks
		if you're using this in a multi-threaded environment.
	*/
	void AddDictionaryEntry(Tag tag, VR vr, std::string name)
	{
		//Enforce that item doesn't currently exist!
		Enforce(TheDataDictionary.end()==TheDataDictionary.find(tag),"Item already exists");
		//Enforce that tag is in private range
		UINT16 group=GroupTag(tag);
		Enforce(group&0x01,"Group element must be odd.");
		TheDataDictionary[tag]=Item(vr,name);
	}
}//namespace dicom
